我正在尝试从链接到数据库中的表的 DataGridView 中删除选定的行。它指出以下错误代码。
对于我在这里出错的地方有什么想法吗?
删除按钮代码
private void DeleteExtraBtn_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0; AttachDbFilename=C:\Users\Donald\Documents\Visual Studio 2013\Projects\DesktopApplication\DesktopApplication\Student_CB.mdf ;Integrated Security=True");
con.Open();
try
{
//Delete selected extra row
SqlCommand sda = new SqlCommand("Delete From Extra Where Extra_ID = @Extra_ID", con);
sda.Parameters.AddWithValue("@ExtraID", extraGridView.CurrentRow.Cells[0]);
sda.ExecuteNonQuery();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
con.Close();
loadExtraTable();
}
最佳答案
我没有看到您在任何地方执行该命令。
添加;
sda.ExecuteNonQuery();
此外,您引用的是单元格对象,而不是它的值。
另外,您引用 @ExtraID
和 @Extra_ID
private void DeleteExtraBtn_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0; AttachDbFilename=C:\Users\Donald\Documents\Visual Studio 2013\Projects\DesktopApplication\DesktopApplication\Student_CB.mdf ;Integrated Security=True");
con.Open();
try
{
//Delete selected extra row
SqlCommand sda = new SqlCommand("Delete From Extra Where Extra_ID = @ExtraID", con);
sda.Parameters.AddWithValue("@ExtraID", extraGridView.CurrentRow.Cells[0].Value);
sda.ExecuteNonQuery();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
con.Close();
loadExtraTable();
}
关于c# - SQL 删除语句不适用于从 dataGridView 选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36384972/