Я пытаюсь обновить базу данных доступа ms из таблицы данных.
Сеть данных заполняется нажатием кнопки, а база данных обновляется при изменении любой ячейки.
Пример кодаЯ использовал заполнение при загрузке формы и использует событие cellendedit.
private OleDbConnection connection = null;
private OleDbDataAdapter dataadapter = null;
private DataSet ds = null;
private void Form2_Load(object sender, EventArgs e)
{
string connetionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\\Users\\Peter\\Documents\\Visual Studio 2010\\Projects\\StockIT\\StockIT\\bin\\Debug\\StockManagement.accdb';Persist Security Info=True;Jet OLEDB:Database Password=";
string sql = "SELECT * FROM StockCount";
connection = new OleDbConnection(connetionString);
dataadapter = new OleDbDataAdapter(sql, connection);
ds = new DataSet();
connection.Open();
dataadapter.Fill(ds, "Stock");
connection.Close();
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "Stock";
}
private void addUpadateButton_Click(object sender, EventArgs e)
{
}
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
try
{
dataadapter.Update(ds,"Stock");
}
catch (Exception exceptionObj)
{
MessageBox.Show(exceptionObj.Message.ToString());
}
}
Я получаю сообщение об ошибке:
Для обновления требуется действительная команда UpdateCommand при передаче коллекции DataRow с измененными строками.
Я не уверен, куда должна идти эта команда и как ссылаться на ячейку для обновления значения в базе данных.