2009-08-04 2 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

업데이트 수정 행

있는 유효한 통과 UpdateCommand 된 DataRow 수집이 필요

그래, 난 수정으로 된 DataRow 수집을 통과 유효한 UpdateCommand을 필요로 지금은이 오류를

업데이트를 제공 업데이트 BU 후 AccesptChange()를 이동 행

하지만 지금 문제는 MySQL을 사용하며 Wrie UpdateCommand를 사용할 수 없으며 VS2008은 SQL 명령을 허용하지 않습니다. 자동으로 모든 SQL 명령을 삭제하십시오. 나는 그 문제를 이해하지 못한다. 이제 SQL 명령 (UpdateCommand)을 사용하지 않고 다른 방법을 사용합니까?

1

DbDataAdapter.Update()를 호출하기 전에 DataRow.AcceptChanges()를 호출하는 것이 문제라고 생각합니다. AcceptChanges는 데이터 행의 상태를 "orignal"(또는 "변경되지 않음"- 지금은 기억하지 못합니다)으로 설정합니다. 업데이트 후에 AcceptChanges에 대한 호출을 이동하십시오.

관련 문제