【发布时间】:2019-04-17 13:57:38
【问题描述】:
我可以从 datagridview 中删除行,但不能在带有查询代码的 sql 表中。所以基本上我的“字符串查询”代码会出错。
https://imgur.com/2fn1RCf https://imgur.com/IMc7gBV
private void removebtn_Click(object sender, EventArgs e)
{
connection.Open();
int i;
i = dataGridView1.SelectedCells[0].RowIndex;
string query = "DELETE FROM PatientRecords WHERE Id=" + dataGridView1.SelectedRows[i].Cells[0].Value.ToString() + "";
SqlCommand delcmd = new SqlCommand(query, connection);
delcmd.ExecuteNonQuery();
dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[i].Index);
MessageBox.Show("Selected Save Deleted");
}
【问题讨论】:
-
尝试打印您的查询变量以确保它正确。
-
错误是什么?
-
System.ArgumentOutOfRangeException 那是错误实际上我的查询工作但只针对第一行。它可以是关于行索引选择
-
你在哪一行得到这个错误?你有没有通过代码来查看它在哪里?
-
@WEI_DBA 字符串查询 = "从 PatientRecords 中删除 Id=" + dataGridView1.SelectedRows[i].Cells[0].Value.ToString() + "";当我选择第二个或第三个时,这条关于 id 平等的行仅适用于我的 gridview 的第一行,它会给出错误
标签: c# sql datagridview rowdeleting