0

次のエラーが表示されます。

パラメータ化されたクエリ '(@SupplierName nvarchar(50),@CostPrice nvarchar(50))UPDATE CostP' は、指定されていないパラメータ '@SupplierName' を想定しています。

ここで何が問題なのですか?

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();
4

1 に答える 1

2

問題は値の設定方法にあると思います-これがエラーメッセージの原因だと思います。

これを試して:

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

以下にリンクしているMSDNページには、これに代わる方法があり、これも役立つ場合があります。

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

于 2012-08-03T10:44:36.220 に答える