Обновите существующие данные, используя DataRow C #
Вопрос
Мне нужно обновить существующие данные в базе данных 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
Для обновления требуется допустимая команда UpdateCommand при передаче коллекции DataRow с измененными строками
Да, я перемещаю AccesptChange () после обновления, но теперь выдает эту ошибку
Для обновления требуется допустимая команда UpdateCommand при передаче коллекции DataRow с измененными строками
Но теперь проблема в том, что я использую MySQL и не могу Wrie UpdateCommand, VS2008 не принимает команду SQL. Автоматически удалить все команды SQL. Я не понимаю проблемы. Так что вы теперь по-другому без использования команды SQL (UpdateCommand)?
Другие советы
Я думаю, что проблема в том, что вы вызываете DataRow.AcceptChanges () перед вызовом DbDataAdapter.Update (). AcceptChanges установит статус datarow на «orignal». (или «не изменен» - я сейчас не помню). Попробуйте переместить вызов в AcceptChanges после обновления.