2012-08-03 181 views
0

我得到这个错误:更新数据库

The parameterized query '(@SupplierName nvarchar(50),@CostPrice nvarchar(50))UPDATE CostP' expects the parameter '@SupplierName', which was not supplied.

有什么问题吗?

con = new System.Data.SqlClient.SqlConnection(); 
con.ConnectionString = "Data Source=tcp:SHEN-PC,49172\\SQLEXPRESS;Initial Catalog=LSEStock;Integrated Security=True"; 
con.Open(); 

String updateData = "UPDATE CostPrice SET SupplierName = @SupplierName, CostPrice = @CostPrice WHERE PartsID = '" +textBox1.Text+"'"; 
SqlCommand update = new SqlCommand(updateData, con); 

update.Parameters.Add("@SupplierName", SqlDbType.NVarChar, 50, "SupplierName"); 
update.Parameters.Add("@CostPrice", SqlDbType.NVarChar, 50, "CostPrice"); 

update.ExecuteNonQuery(); 
+0

你好!将你的问题分解成更相关的代码和明显的问题。就目前而言,它的格式不是很好,它有点长,坦率地说 - 在代码之后,你最后提出了问题。 =) – 2012-08-03 08:28:23

+0

对不起,但我真的需要帮助,我无法解决这个问题。 – 2012-08-03 08:34:37

回答

2

我认为这个问题是你如何设置值 - 这就是我认为是造成你的错误消息。

试试这个:

update.Parameters.Add("@SupplierName", SqlDbType.NVarChar, 50).Value = "SupplierName"; 

有这种替代的MSDN页面链接我以下,这也可能有助于。

MSDN链接:http://msdn.microsoft.com/en-us/library/e5xwx8sc(v=vs.80).aspx