必须在sql update上声明标量变量 [英] Must declare the scalar variable on sql update
本文介绍了必须在sql update上声明标量变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好,我的项目有这个错误:必须声明标量变量@SerialNo。是什么原因?
谢谢
Hi everyone, my project has this error: Must declare the scalar variable "@SerialNo". What's cause?
thanks
private void btnUpdate_Click(object sender, RoutedEventArgs e)
{
SqlConnection con = new SqlConnection();
con.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Tickets.mdf;Integrated Security=True;User Instance=True";
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
SqlDataAdapter da = new SqlDataAdapter();
da.UpdateCommand = new SqlCommand(@"Update [Ticket] Set No = @No, Date = @Date, [From] = @From, [To] = @To, IssueDate = @IssueDate, FlightNo = @FlightNo, ClassBasis = @ClassBasis, Issuer = @Issuer, Code = @Code, Form = @Form, SerialNo = @SerialNo Where No = @No", con);
da.UpdateCommand.Parameters.Add("@No", SqlDbType.Int).Value = (txtNo.Text).ToString();
da.UpdateCommand.Parameters.Add("@Date", SqlDbType.NVarChar).Value = txtDate.Text;
da.UpdateCommand.Parameters.Add("@From", SqlDbType.NVarChar).Value = txtFrom.Text;
da.UpdateCommand.Parameters.Add("@To", SqlDbType.NVarChar).Value = txtTo.Text;
da.UpdateCommand.Parameters.Add("@IssueDate", SqlDbType.NVarChar).Value = txtIssueDate.Text;
da.UpdateCommand.Parameters.Add("@FlightNo", SqlDbType.NVarChar).Value = txtFlightNo.Text;
da.UpdateCommand.Parameters.Add("@ClassBasis", SqlDbType.NVarChar).Value = txtClassBasis.Text;
da.UpdateCommand.Parameters.Add("@Issuer", SqlDbType.NVarChar).Value = txtIssuer.Text;
da.UpdateCommand.Parameters.Add("@Code", SqlDbType.NVarChar).Value = txtCode.Text;
da.UpdateCommand.Parameters.Add("@Form", SqlDbType.NVarChar).Value = txtForm.Text;
da.UpdateCommand.Parameters.Add("@SerilNo", SqlDbType.NVarChar).Value = txtSerial.Text;
con.Open();
da.UpdateCommand.ExecuteNonQuery();
con.Close();
this.ShowData();
推荐答案
我认为原因是这条线
I think the cause is this line
da.UpdateCommand.Parameters.Add("@SerilNo", SqlDbType.NVarChar).Value = txtSerial.Text;
这应该是 @SerialNo
而不是 @SerilNo
查看以下内容:
http://blogs.msdn.com/b/spike/archive/2010/03/03 /must-declare-the-scalar-variable.aspx [ ^ ]
这可能对你有所帮助。
have a look at the following:
http://blogs.msdn.com/b/spike/archive/2010/03/03/must-declare-the-scalar-variable.aspx[^]
this might help you.
错误是@SerialNo
而不是@SerilNo
hiii guys我们可以为此编写存储过程可以避免这种类型的错误...............
我们可以使用存储过程还有
mistake is@SerialNo
instead of@SerilNo
hiii guys we can write stored procedure for this we can avoid this type of error...............
we can use stored procedures also
Create procedure updateproc(@No int,@Date varchar(50) ,@From varchar(50) ,@IssueDate varchar(50) ,@FlightNo varchar(50) ,@ClassBasis varchar(50) ,@Issuer varchar(50) ,@SerialNo varchar(50))
As
Begin
Update [Ticket] Set No = @No, Date = @Date, [From] = @From, [To] = @To, IssueDate = @IssueDate, FlightNo = @FlightNo, ClassBasis = @ClassBasis, Issuer = @Issuer, Code = @Code, Form = @Form, SerialNo = @SerialNo Where No = @No"
end
这篇关于必须在sql update上声明标量变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文