문제

MySQL 데이터베이스에서 존재하는 데이터를 업데이트해야합니다.

나는이 코드처럼 씁니다.

        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 컬렉션을 통과 할 때 유효한 UpdateCommand가 필요합니다.

예, 업데이트 후 AccesptChange ()를 움직입니다. 이제이 오류가 발생합니다.

업데이트는 수정 된 행이있는 Datarow 컬렉션을 통과 할 때 유효한 UpdateCommand가 필요합니다.

그러나 이제 문제는 MySQL을 사용하고 업데이트 커뮤니케이션을 정지시킬 수 없으며 vs2008은 SQL 명령을 수락하지 않습니다. 모든 SQL 명령을 자동으로 삭제합니다. 나는 문제를 이해하지 못한다. SQL 명령 (updateCommand)을 사용하지 않고 다른 방법으로?

다른 팁

문제는 dbdataadapter.update ()를 호출하기 전에 datarow.acceptchanges ()를 호출한다는 것입니다. acceptChanges는 Datarow의 상태를 "Orignal"(또는 "변경되지 않음" - 지금 기억하지 않습니다). 업데이트 후 호출을 수락하기 위해 호출을 옮기십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top