我有一个DataGridView
,它从链接到的数据库中提取数据,并在DataGridView
上显示它。
我有一个Delete
按钮,允许用户使用以下代码删除特定记录:
string SQLdelete = "DELETE FROM User WHERE Id = @RowID";
SqlParameter RowParameter = new SqlParameter();
SqlCommand deleteRecord = new SqlCommand();
deleteRecord.Connection = con;
deleteRecord.CommandType = CommandType.Text;
deleteRecord.CommandText = SQLdelete;
RowParameter.ParameterName = "@RowID";
RowParameter.SqlDbType = SqlDbType.Int;
RowParameter.IsNullable = false;
RowParameter.Value = rowIndex + 1;
deleteRecord.Parameters.Add(RowParameter);
deleteRecord.Connection.Open();
deleteRecord.ExecuteNonQuery();
deleteRecord.Connection.Close();
问题是,在删除多个记录之后,我认为RowID
被混淆了,例如,如果我有一个6-8的数据ID (这是他们的ID,链接到删除查询),它就不会被删除,有时当我单击第三记录时,第一记录就会被删除。
我不知道我是否足够清楚,但如果你想让我补充任何信息,我会告诉你的。
我认为这与DataGridView
's RowID
和my table's ID
有关;当我删除许多记录时,它们就混淆了。
有人能告诉我,为了避免这个问题,我应该在删除代码中添加什么?
非常感谢!
发布于 2017-04-17 14:18:58
在这里,您需要使用表中的"ID“删除记录。
这意味着您需要将"ID“绑定到datagridview,而数据视图中的"ID”需要作为参数传递以进行查询,并需要删除记录。
https://stackoverflow.com/questions/43449769
复制相似问题