Customers カテゴリの Northwind データベースで挿入、更新、および削除操作を行う割り当てがあります。コードは似ているはずなので、なんとか挿入部分を実行し、すべて完了したと思いましたが...基本的に挿入をコピーし、ストアドプロシージャへの参照を変更するだけでUpdateを書きましたが、ボタンを押しても何もありません起こります。コード :
private void buttonUpdate_Click(object sender, RoutedEventArgs e)
{
SqlConnection cn = new SqlConnection(@"Integrated Security=SSPI;Initial Catalog=Northwind;Data Source=(local)");
SqlCommand cmd = new SqlCommand("UpdateCustomer", cn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@CustomerID", "");
cmd.Parameters.AddWithValue("@CompanyName", companyName);
cmd.Parameters.AddWithValue("@ContactName", contactName);
cmd.Parameters.AddWithValue("@ContactTitle", contactTitle);
cmd.Parameters.AddWithValue("@Address", address);
cmd.Parameters.AddWithValue("@City", city);
cmd.Parameters.AddWithValue("@PostalCode", zip);
cmd.Parameters.AddWithValue("@Phone", phone);
cmd.Parameters.AddWithValue("@Region", "");
cmd.Parameters.AddWithValue("@Country", "");
cmd.Parameters.AddWithValue("@Fax", "");
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
}
そのための私のストアドプロシージャはMSDNから取得されました:
CREATE PROCEDURE [dbo].[UpdateCustomer]
@CustomerID nchar(5),
@CompanyName nvarchar(40),
@ContactName nvarchar(30),
@ContactTitle nvarchar(30),
@Address nvarchar(60),
@City nvarchar(15),
@Region nvarchar(15),
@PostalCode nvarchar(10),
@Country nvarchar(15),
@Phone nvarchar(24),
@Fax nvarchar(24)
AS
UPDATE [dbo].[Customers]
SET [CompanyName] = @CompanyName
,[ContactName] = @ContactName
,[ContactTitle] = @ContactTitle
,[Address] = @Address
,[City] = @City
,[Region] = @Region
,[PostalCode] = @PostalCode
,[Country] = @Country
,[Phone] = @Phone
,[Fax] = @Fax
WHERE CustomerID=@CustomerID
しかし、何も変わりません。私は何を間違っていますか?また、Customer を削除するためにカスケードで何かをする必要がありますか?これらのテーブルは一種の組み合わせであるためです。
これは基本的なプロジェクトであり、DataSet などについて何も知らないので、1000 の Web サイトを検索した後でも、これを理解することはできません.. :( どんな助けも大歓迎です!