我在 C# 中有一个 datagridview 显示查询数据库的结果。我想删除数据,这个方法是使用 DataSet。此方法在某个索引中按下按钮时执行。
编码:
DialogResult _result = MessageBox.Show("Do you want to remove the data?", "Warning", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
if (_result == DialogResult.OK)
{
int idx = dataGridInfo.CurrentRow.Index;
this.getInfoFilmDS.sp_getInfo.Rows.RemoveAt(idx);
MessageBox.Show("Data Removed", "Processing", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
这种方法
this.getInfoFilmDS.sp_getInfo.Rows.RemoveAt(idx);
仅在 DataGridView 中工作,但数据本身并未在数据库中删除。
如何解决这个问题?
提前致谢。
更新我已将语法更改为:
this.getInfoFilmDS.sp_getInfo.Rows[idx].Delete();
sp_getInfoTableAdapter.Adapter.Update(getInfoFilmDS);
但编译器会抛出错误。
Invalid Operation Exception Update requires a valid DeleteCommand when passed DataRow collection with deleted rows.