sql server - c# WPF更新/删除按钮不工作

本文关键字:删除 按钮 工作 更新 server WPF sql | 更新日期: 2023-09-27 17:50:24

我有一个任务,在客户类别上做插入,更新和删除操作在北风数据库。我设法做插入部分,并认为这一切都完成了,因为代码应该是相似的,但是……我基本上通过复制Insert并更改对存储过程的引用来编写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,我是否需要对级联做一些事情,因为这些表是组合在一起的。

这是一个基本的项目,我不知道任何数据集和东西,所以在搜索了1000个网站后,我仍然不能弄清楚这个…如有任何帮助,我将不胜感激!

sql server - c# WPF更新/删除按钮不工作

为了执行特定客户的UPDATE,您需要传递CustomerID:

  cmd.Parameters.AddWithValue("@CustomerID", "");  <- Don't pass an empty string here..

[不是问题的原因,但我会调查为什么您将CustomerID列定义为nchar(5)]