为什么不刷新?
private void deleteRecord()
{
if (BooksGrid.SelectedRows.Count > 0)
{
int selectedIndex = BooksGrid.SelectedRows[0].Index;
int rowID = int.Parse(BooksGrid[0, selectedIndex].Value.ToString());
string sql = "DELETE FROM Books WHERE BookID = @RowID";
SqlCommand deleteRecord = new SqlCommand();
deleteRecord.Connection = Booksconnection;
deleteRecord.CommandType = CommandType.Text;
deleteRecord.CommandText = sql;
SqlParameter RowParameter = new SqlParameter();
RowParameter.ParameterName = "@RowID";
RowParameter.SqlDbType = SqlDbType.Int;
RowParameter.IsNullable = false;
RowParameter.Value = rowID;
deleteRecord.Parameters.Add(RowParameter);
deleteRecord.Connection.Open();
deleteRecord.ExecuteNonQuery();
deleteRecord.Connection.Close();
}
}
答案 0 :(得分:0)
Dataset.GetChanges()
只有在您通过数据集进行更改时才会起作用 - 在这种情况下,您将在其控制之外进行更改,因此您将不得不自己重新加载数据集(或更好的是,首先调用填充它的方法) - 这样,你也可以从其他用户那里获取更改......
答案 1 :(得分:0)
如果不确切知道DataGridView
的{{1}}是什么,(并假设记录实际上已从数据库中删除),我会说你需要重置DataSource
,无论如何它可能是。
例如,在我的代码中,我通常会DataSource
作为DataTable
,然后我会调用DataSource
来清除它。之后,我用数据库填充它。这样可以确保我的DataTable.Clear()
已完全更新为DataGridView
DataTable
。