删除命令C#+;SQL Server
我正在执行从DataGridView中删除数据的命令 但我不能让它工作,我只想选择一条线,并删除它 除了编程一个显示“删除”的按钮外,当您单击它时,DataGridView中的选定数据将被删除 我真的需要帮助 我迷路了 我的桌子是“人” 我的专栏是“ID” 实例删除命令C#+;SQL Server,c#,sql-server,database,c#-4.0,C#,Sql Server,Database,C# 4.0,我正在执行从DataGridView中删除数据的命令 但我不能让它工作,我只想选择一条线,并删除它 除了编程一个显示“删除”的按钮外,当您单击它时,DataGridView中的选定数据将被删除 我真的需要帮助 我迷路了 我的桌子是“人” 我的专栏是“ID” 实例 {SqlConnection cn; SqlCommand cmd; SqlDataReader dr; SqlDataAdapter da; DataTable dt;} public
{SqlConnection cn;
SqlCommand cmd;
SqlDataReader dr;
SqlDataAdapter da;
DataTable dt;}
public string Del(int ID)
{
string ouk = "Delete Work";
try
{
cmd = new SqlCommand("Delete From Person Where = ID )", cn);
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
ouk = "Bad character:" + ex.ToString();
}
return ouk;
}
用于DataGridView上的按钮擦除
private void buttondel_Click(object sender, EventArgs e)
{
MessageBox.Show(c.Del(TBID));
}
问题是您的SQL查询格式不正确,并且您没有将ID传递给查询:
"Delete From Person Where = ID )"
相等性检查的一侧缺失,并且出现意外的右括号
您应该更改查询以接受参数:
"Delete From Person Where ID = @id"
然后将参数传递给命令:
cmd.Parameters.Add("@id", SqlDbType.Int).Value = ID;
因此,它变成:
try
{
using (cmd = new SqlCommand("Delete From Person Where ID = @id", cn))
{
cmd.Parameters.Add("@id", SqlDbType.Int).Value = ID;
cmd.ExecuteNonQuery();
}
}
catch (Exception ex)
{
ouk = "Bad character:" + ex.ToString();
}
我已经冒昧地使用语句将SqlCommand包装在一个
中,这样一旦我们处理完它,它就会被处理掉。是您的datagrid DataBind吗?您是如何获得TBID valueup的?投票赞成一个好的解释,而不是告诉OP他犯了多少错误