Bonjour,
je m'adresse à vous en temps que dernier recours.
J'ai deja fait plusieurs recherches, notamment dans ce forum
( http://www.developpez.net/forums/sho...+ligne+dataset ) et sur MSDN ( http://msdn.microsoft.com/library/fr...mdatatable.asp ).
Je suis debutante.
Je travaille en C# sur visual studio avec des boutons Infragistics et une BD SQL Server.
Mon but :
pouvoir ajouter, modifier, supprimer des enregistrements dans une BD a partir d'un datagrid.
Voici mon probleme :
Quand on selectionne une ligne dans le datagrid puis qu'on clique sur le bouton supprimer, je souhaite supprimer un enregistrement dans le base et dans le dataset.
J'arrive a supprimer la ligne du dataset mais pas dans la base.
Pourtant quand je fais une modification, ca marche tres bien dans la dataset et dans la BD.
Je me demande donc si la requete DeleteCommand générée automatiquement par le DataAdapter n'est pas fausse.
merci pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 private void btnDeleteClick(object sender, System.EventArgs e) { int idx = ultraGrid1.Selected.Rows[0].ListIndex; MessageBox.Show("index : " + idx); dataSetReglesOrdres1.REGLES_ORDRES.Rows[idx].Delete(); // dataSetReglesOrdres1.Tables["REGLES_ORDRES"].Rows.RemoveAt(idx); dataSetReglesOrdres1.AcceptChanges(); save(); } public void save() { try { // on met à jour la BD à partir du dataset // et on rafraichit l'affichage sqlDataAdapterRegles.Update(dataSetReglesOrdres1); ultraGrid1.Refresh(); MessageBox.Show("Records successfully modified" ); } catch { MessageBox.Show("Error updating records"); } }
Partager