Доброе время суток!
Делаю следующее, пытаюсь записать из grid'a в таб. Access:
//Обработчик события нажатия кн. "Сохранить изменения"
private void saveButton_Click(object sender, EventArgs e)
{
//Соединяемся с сервером
OleDbConnection connection = CreateConnection();
//Создаем адаптер (в конструкторе строка запроса и объект соединения)
OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM SchemeTP144", connection);
DataSet dataset = new DataSet();
//СОЗДАЕМ ОБЪЕКТ КОМАНДЫ (ИЗМЕНЕНИЯ ДАННЫХ)
adapter.UpdateCommand = new OleDbCommand("UPDATE SchemeTP144 SET [Порядковый № уст-ва] = ?, [Признак строки] = ?, Элемент1 = ?, Отношение = ?, Элемент2 = ?, [Признак обработки] = ?, " +
"[Порядковый № обработки] = ?, [Состояние отключения в схеме] = ? WHERE № = ?");
//Создаем параметры связи
adapter.UpdateCommand.Parameters.Add("№", OleDbType.Integer, 10, "№");
adapter.UpdateCommand.Parameters.Add("Порядковый № уст-ва", OleDbType.VarChar, 50, "Порядковый № уст-ва");
adapter.UpdateCommand.Parameters.Add("Признак строки", OleDbType.VarChar, 50, "Признак строки");
adapter.UpdateCommand.Parameters.Add("Элемент1", OleDbType.VarChar, 50, "Элемент1");
adapter.UpdateCommand.Parameters.Add("Отношение", OleDbType.VarChar, 50, "Отношение");
adapter.UpdateCommand.Parameters.Add("Элемент2", OleDbType.VarChar, 50, "Элемент2");
adapter.UpdateCommand.Parameters.Add("Признак обработки", OleDbType.VarChar, 50, "Признак обработки");
adapter.UpdateCommand.Parameters.Add("Порядковый № обработки", OleDbType.VarChar, 50, "Порядковый № обработки");
adapter.UpdateCommand.Parameters.Add("Состояние отключения в схеме", OleDbType.VarChar, 50, "Состояние отключения в схеме");
//Указываем объект соединения
adapter.UpdateCommand.Connection = connection;
//СОЗДАЕМ ОБЪЕКТ КОМАНДЫ (ДОБАВЛЕНИЯ ДАННЫХ)
adapter.InsertCommand = new OleDbCommand("INSERT INTO SchemeTP144 ([Порядковый № уст-ва], [Признак строки], Элемент1, Отношение, Элемент2,[Признак обработки], " +
"[Порядковый № обработки], [Состояние отключения в схеме]) VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
//Создаем параметры связи
adapter.InsertCommand.Parameters.Add("Порядковый № уст-ва", OleDbType.VarChar, 50, "Порядковый № уст-ва");
adapter.InsertCommand.Parameters.Add("Признак строки", OleDbType.VarChar, 50, "Признак строки");
adapter.InsertCommand.Parameters.Add("Элемент1", OleDbType.VarChar, 50, "Элемент1");
adapter.InsertCommand.Parameters.Add("Отношение", OleDbType.VarChar, 50, "Отношение");
adapter.InsertCommand.Parameters.Add("Элемент2", OleDbType.VarChar, 50, "Элемент2");
adapter.InsertCommand.Parameters.Add("Признак обработки", OleDbType.VarChar, 50, "Признак обработки");
adapter.InsertCommand.Parameters.Add("Порядковый № обработки", OleDbType.VarChar, 50, "Порядковый № обработки");
adapter.InsertCommand.Parameters.Add("Состояние отключения в схеме", OleDbType.VarChar, 50, "Состояние отключения в схеме");
//Указываем объект соединения
adapter.InsertCommand.Connection = connection;
//СОЗДАЕМ ОБЪЕКТ КОМАНДЫ (УДАЛЕНИЕ ДАННЫХ)
adapter.DeleteCommand = new OleDbCommand("DELETE FROM SchemeTP144 WHERE № = ?");
//Добавление параметра ключа
adapter.DeleteCommand.Parameters.Add("№", OleDbType.Integer, 10, "№");
//Указываем объект соединения
adapter.DeleteCommand.Connection = connection;
//Вызов обновления данных
//dataset.AcceptChanges();
adapter.Update(dataset.Tables[0]);
Возникает ошибка:
Нарушение параллелизма: UpdateCommand затронула 0 из ожидаемых 1 записей.Проработал много информации, но не получил результат. Если не затруднит, отпишите, что не так или чего тут не хватает.
Спасибо!