En insérant simplement un nouveau dossier à l'aide d'un DataSet (.net c# ado.net )
J'ai un formulaire contenant plus de 200 zones de texte .NET application de bureau. Je veux les insérer dans leurs respectives de 4 tables de Base de données. Maintenant, comment dois-je aller sur l'aide de Dataset & DataAdapter pour ce faire?
Je veux dire, habituellement, c'est le flux:
- Remplir le DataSet à l'aide de
DataAdapter.Fill(Dataset,"DataTable");
- manipuate les données du DataSet
DataAdapter.Update(Dataset,"DataTable")
mises à jour du contenu en Base de données.
Mais ici, je veux juste insérer un nouvel enregistrement dans 3 tables différentes.
Je pense que le chemin est à
- Créer par programmation d'Un jeu de données avec 3 tables de données.
- Lier 200 zones de texte colonnes respectives de ces Datatabes
dataAdapter.Update(dataSet, dataTable.TableName);
Suis-je droit?
Comment dataAdapter.Update(dataSet, dataTable.TableName);
travail? Parce que, mes chaque dataTable aura qu'un seul enregistrement. (le nouvel enregistrement qui doit être inséré. binded avec ces 200 zones de texte de la forme, dans lequel la Table de la Base de données de milliers de dossiers. Si je ne dataAdapter.Update(dataSet, dataTable.TableName);
il va supprimer tous les autres enregistrements et insérez lui seul?
Je veux juste insérer un nouvel enregistrement (sans aller chercher d'autres 1000s de dossiers dans mon Dataset) dans la Base de données.Tableau à l'aide d'un jeu de données.
Vous devez vous connecter pour publier un commentaire.
Chaque ligne possède une Propriété RowState, ce sera utilisée par le dataAdapter. Donc, si votre jeu de données n'a qu'une nouvelle ligne, la ligne de l'état sera DataRowState.Ajouté. Le DataAdapter pour insérer la ligne et de modifier la ligne de l'état de DataRowState.Inchangé. Toutes les autres lignes dans la base de données sera inchangé.
Remarque: ne fonctionne pas si il y a des contraintes dans la base de données définie.
Il suffit de faire les commandes SQL insert et de les exécuter: