2010-06-04 4 views
0

J'ai une Datagrid dans mon application. Cette grille de données extrait certaines données d'une base de données MySQL. Ils sont récupérés à partir d'une liste <> pour être vrai, car je ne suis pas en mesure d'extraire les données d'un jeu de données (et je ne sais pas pourquoi).Datagrid: appliquer des changements de ligne à la base de données

Quoi qu'il en soit, quand je mets à jour un champ dans mon application je veux que ces changements soient reflétés sur la liste et donc sur la table dans ma base de données.

Une idée?

De plus, c'est une bonne option pour enregistrer des données de tables sur une liste <> ou il est préférable de les enregistrer sur un DataSet/DataTable?

Merci.

Répondre

0

Je répondrai d'abord à votre dernière question. En général, vous souhaitez utiliser DataSet/DataTable, car ils possèdent de nombreuses méthodes et propriétés liées à la fonctionnalité de base de données. Un List<> peut vous amener où vous allez pour l'instant, mais l'étendre dans le futur sera un cauchemar. Je voudrais concentrer sur obtenir un DataSet correctement rempli à partir de votre base de données (voir: http://dev.mysql.com/usingmysql/dotnet/ si vous ne savez pas par où commencer), puis en définissant simplement votre DataGrid pour utiliser ce DataSet comme DataSource. Vous pouvez ensuite utiliser des éléments tels que LINQ to SQL ou Entity Framework pour mieux modéliser ce DataSet dans le code. En supposant que vous avez les pilotes ODBC appropriés installés, cela devrait être aussi simple que de créer la bonne chaîne de connexion et de tout faire normalement à partir de là.

Vous pouvez certainement faire les choses comme vous le faites actuellement, mais vous devrez envoyer manuellement des instructions de mise à jour SQL au lieu de vous fier aux méthodes automatiques. Mais je envisagerais sérieusement de le retravailler pour utiliser les objets de données .NET appropriés.

Questions connexes