对象引用未设置为对象的实例。asp.net
我正在尝试将数据从webservice更新到数据库。但是,一旦我在web服务页面中单击invoke并运行此命令:“command1.Connection.Open();”我将收到以下错误消息:对象引用未设置为对象的实例 这是我的代码:对象引用未设置为对象的实例。asp.net,asp.net,sql,Asp.net,Sql,我正在尝试将数据从webservice更新到数据库。但是,一旦我在web服务页面中单击invoke并运行此命令:“command1.Connection.Open();”我将收到以下错误消息:对象引用未设置为对象的实例 这是我的代码: [WebMethod] public void UpdateParticulars(string Name, string CLass, string NRIC, float AmountSpent) {
[WebMethod]
public void UpdateParticulars(string Name, string CLass, string NRIC, float AmountSpent)
{
using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ncpConnectionString2"].ConnectionString))
{
SqlCommand command1 = new SqlCommand("UPDATE Student set Name=@Name, Class=@CLass,StallNo=@StallNo,AmountSpent=@AmountSpent WHERE NRIC = '" + NRIC + "'");
command1.Parameters.AddWithValue("@Name", Name);
command1.Parameters.AddWithValue("@Class", CLass);
command1.Parameters.AddWithValue("@NRIC", NRIC);
command1.Parameters.AddWithValue("@AmountSpent", AmountSpent);
command1.Connection.Open();
command1.ExecuteNonQuery();
}
}
将
SqlConnection
作为参数传递给SqlCommand
构造函数
SqlCommand command1 = new SqlCommand(query, conn);
同时将查询更改为完全参数化(并且缺少@StallNo参数):
使用command1.Connection=conn; conn.Open() 在执行ExecuteNonQuery()之前,只需添加这一行
conn.open();
而不是
command1.Connection.Open();
更改此命令1.Connection.Open();连接到conn.Open();出现此错误:System.Data.SqlClient.SqlException:必须声明标量变量“@StallNo”。您已添加该参数。添加此命令1.Parameters.AddWithValue(“@StallNo”,即“”);我得到了这个错误:System.Data.SqlClient.SqlException:必须声明标量变量“@StallNo”。我在回答中指出:必须添加这个
command1.Parameters.AddWithValue(@StallNo“,”)//缺少具有正确值的参数
。
command1.Connection.Open();