0

我需要更新 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);

        }

但没有任何改变我的存在数据。问题是什么?

4

2 回答 2

1

我认为问题在于您在调用 DbDataAdapter.Update() 之前调用了 DataRow.AcceptChanges()。AcceptChanges 会将数据行的状态设置为“原始”(或“未更改”——我现在不记得了)。尝试将对 AcceptChanges 的调用移至更新之后。

于 2009-08-04T08:37:38.077 回答
-2

当传递带有修改行的 DataRow 集合时,更新需要有效的 UpdateCommand

是的,我在更新之后移动了 AccesptChange(),现在它给出了这个错误

当传递带有修改行的 DataRow 集合时,更新需要有效的 UpdateCommand

但现在的问题是,我使用 MySQL 并且我不能 Wrie UpdateCommand ,VS2008 不接受 SQL 命令。自动删除所有 SQL 命令。我不明白这个问题。那么您现在是否有另一种不使用 SQL 命令(UpdateCommand)的方式?

于 2009-08-04T08:54:24.173 回答