2009-08-04 5 views
0

mysqlデータベース内に存在するデータを更新する必要があります。DataRowを使用してExistデータを更新するC#

私はこのコードのように記述します。

 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); 

     } 

しかし、私の存在するデータは変更されません。何が問題ですか?

答えて

-2

更新)変更された行

とのDataRowコレクションが渡されたときにはい、私は(AccesptChangeを移動し、有効なUpdateCommandのを必要と修正したDataRowコレクションが渡された場合、更新BU後、今のこのエラーを与える

更新は、有効なUpdateCommandが必要です。行

しかし、今問題は、私はMySQLを使用し、私はWrie UpdateCommandできません、VS2008はSQLコマンドを受け入れていません。自動的にすべてのSQLコマンドを削除します。私は問題を理解していない。では、SQLコマンド(UpdateCommand)を使用せずに別の方法を使ってみましょうか?

1

DbDataAdapter.Update()を呼び出す前にDataRow.AcceptChanges()を呼び出すのが問題だと思います。 AcceptChangesはdatarowのステータスを "orignal"(または "変更されていない" - 私は今思い出すことができません)に設定します。更新後にAcceptChangesへの呼び出しを移動してみてください。

関連する問題