В определенных условиях при попытки сохранения данных вываливается ошибка:
автор |
"Нарушение параллелизма: UpdateCommand затронула 0 из ожидаемых 1 записей" |
У меня на форме есть playersDataGridView, da - SqliteDataAdapter, ds - DataSet
При загрузке формы:
private void FormPlayersEdit_Load(object sender, EventArgs e)
{
string sql = "SELECT ID Код, Number Номер, Name Имя, BirthDate [Дата рождения], Discription Описание FROM Players";
da = new SQLiteDataAdapter(sql, tour.conn);
ds = new DataSet();
if (!RefreshView()) { return; }
SQLiteCommandBuilder cmdb = new SQLiteCommandBuilder(da);
da.UpdateCommand = cmdb.GetUpdateCommand();
string UpdateCommandText = "UPDATE [Players] SET [Number] = @param1, [Name] = @param2, [BirthDate] = @param3, [Discription] = @param4 WHERE ([ID] = @param5)";
da.UpdateCommand.CommandText = UpdateCommandText;
da.InsertCommand = cmdb.GetInsertCommand(true);
da.DeleteCommand = cmdb.GetDeleteCommand(true);
playersDataGridView.DataSource = ds.Tables[0].DefaultView;
playersDataGridView.Columns[0].Visible = false;
}
сохраняю данные вот так:
private void SaveData()
{
this.Validate();
this.playersDataGridView.EndEdit();
try
{
this.da.Update(ds);
}
catch (Exception err)
{
Service.ErrorMessage("Не удалось сохранит данные по причине\:\n" + err.Message+
"\n"+da.UpdateCommand.CommandText
);
}
}
параллельно никто в базу ничего не пишет. Только я. Один.
уже сутки с этим бьюсь ((( Помогите, пожалуйста.