c# - 当我使用参数化查询时出现此错误(必须声明标量变量@“regNo”)
问题描述
Execute.nonquery 给出了必须声明标量变量的错误。请告诉我解决方案
private void btndelete_Click(object sender, EventArgs e)
{
using (SqlConnection con = new SqlConnection(cs))
{
con.Open();
string query = "delete stu_data where Reg_no=@regNo";
SqlDataAdapter sda = new SqlDataAdapter(query,con);
sda.SelectCommand.Parameters.AddWithValue("@regNo", textBox1.Text.ToString());
sda.DeleteCommand = con.CreateCommand();
sda.DeleteCommand.CommandText = query;
sda.DeleteCommand.ExecuteNonQuery();
}
}
}
解决方案
这里有一个很好的删除示例:
try
{
using (var sc = new SqlConnection(ConnectionString))
using (var cmd = sc.CreateCommand())
{
sc.Open();
cmd.CommandText = "DELETE FROM excludes WHERE word = @word";
cmd.Parameters.AddWithValue("@word", word);
cmd.ExecuteNonQuery();
}
}
catch (Exception e)
{
Box.Text = "SQL error" + e;
}
或者,如果您使用的是 SqlDataAdapter:
command = new SqlCommand("DELETE FROM Customers WHERE CustomerID = @CustomerID", connection);
// Add the parameters for the DeleteCommand.
parameter = command.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID");
parameter.SourceVersion = DataRowVersion.Original;
adapter.DeleteCommand = command;
adapter.DeleteCommand.ExecuteNonQuery();
推荐阅读
- powerapps - 在 PowerApps 中修补 DataVerse 表的语法
- javascript - 数组减少方法 + 承诺
- python-3.x - 使用从 SQL 导入的时区对 Python 中的日期时间对象进行排序
- r - 为表格添加标题
- serial-port - Unable to connect to xbee device in xctu
- c# - Why Array.Add extension CAN be done in VB.NET and NOT in C#?
- docker - Trouble connecting Kibana to ElasticSearch on CapRover
- shopify - Shopify Webhook Signature Verification in NetSuite
- sql - Joing on SQL table with arrays
- windows - Setting default path with custom variable in windows 10pro