2009-08-04 17 views
0

Ich muss meine vorhandenen Daten in MySQL-Datenbank aktualisieren.Aktualisieren Sie vorhandene Daten mit DataRow C#

Ich schreibe wie dieser Code;

 String _id = lbID.Text; 
     dsrm_usersTableAdapters.rm_usersTableAdapter _t = new dsrm_usersTableAdapters.rm_usersTableAdapter(); 
     dsrm_users _mds = new dsrm_users(); 
     _mds.EnforceConstraints = false; 

     dsrm_users.rm_usersDataTable _m = _mds.rm_users; 

     _t.FillBy4(_m, _id); 
     if(_m.Rows.Count >0) 
     { 

      DataRow _row = _m.Rows[0]; 

      _row.BeginEdit(); 

      _row["username"] = txtUserName.Text; 

      _row.EndEdit(); 

      _row.AcceptChanges(); 

      _t.Update(_m); 

     } 

Aber nichts ändert meine vorhandenen Daten. Was ist das Problem?

Antwort

-2

Update benötigt eine gültige Update, wenn sie mit geänderten Zeilen DataRow Sammlung übergeben

Ja Ich bewege die AccesptChange() nach dem Update bu seine jetzt

Update benötigt eine gültige Update diesem Fehler geben, wenn DataRow Sammlung übergeben mit modifizierten Zeilen

Aber jetzt Problem ist, verwende ich MySQL und ich kann nicht Wrie UpdateCommand, VS2008 akzeptiert nicht den SQL-Befehl. Automatisches Löschen aller SQL-Befehle Ich verstehe das Problem nicht. Geht es dir nun anders, ohne den SQL-Befehl (UpdateCommand) zu benutzen?

1

Ich denke, das Problem ist, dass Sie DataRow.AcceptChanges() vor dem Aufruf von DbDataAdapter.Update() aufrufen. AcceptChanges setzt den Status des Datarows auf "orignal" (oder "nicht geändert" - ich erinnere mich jetzt nicht). Versuchen Sie, den Aufruf von AcceptChanges nach dem Update zu verschieben.

Verwandte Themen