0
我有一個從DataTableAdatper填充的DataGridView,如this tutorial。如何只更新DataGridView中的一行?
我猜是因爲它是一個ODBC MySQL連接,它不會爲我生成DBDirectMethods。
我的問題是如何在用戶在網格中編輯後更新數據庫中的特定行?我需要在我的適配器中指定一個DeleteCommand嗎?什麼時候會被叫?
我有一個從DataTableAdatper填充的DataGridView,如this tutorial。如何只更新DataGridView中的一行?
我猜是因爲它是一個ODBC MySQL連接,它不會爲我生成DBDirectMethods。
我的問題是如何在用戶在網格中編輯後更新數據庫中的特定行?我需要在我的適配器中指定一個DeleteCommand嗎?什麼時候會被叫?
您通常不需要創建的DeleteCommand,更新命令和自己的InsertCommand:一個CommandBuilder的能爲你做到這一點:
private void UpdateCurrentRow()
{
DataRowView drv = dataGridView1.CurrentRow.DataBoundItem as DataRowView;
DataRow[] rowsToUpdate = new DataRow[] { drv.Row };
OdbcDataAdapter adapter = new OdbcDataAdapter("SELECT * FROM FOO", connection);
OdbcCommandBuilder builder = new OdbcCommandBuilder(adapter);
adapter.Update(rowsToUpdate);
}
但我怎麼告訴它要更新的行?網格控件無法做到這一點? (即決定哪些行被修改,併爲它們調用更新?) – 2009-06-04 08:58:31