数据集福彩12选5走势图(muIssue-第二个表中的重复条目

已加入
2016年11月11日
留言内容
20
编程经验
1-3
大家好

[标题应阅读“多表福彩12选5走势图问题”]

我已经为此工作了几天,但我的大脑着火了,我可能缺少明显的东西(或做错了什么)。这是我的情况(所有实际测试数据):


  • 我有一个类型化的数据集:dbCustTestDataSet
  • 在其中,我有一个表,显示由联接(在称为“ CustomersAddresses_Select”的存储过程中)形成的表。
  • 两个表:“客户”和“地址”(存在第三个“状态”表,但现在不相关)。
  • 客户表包括:客户ID,标题,名字,中间名,姓氏,状态ID。
  • 地址表包含:AddressId,HouseNumber,CustomerID。

在使用类型化的DataSet时,我避免创建自己的数据适配器并改为编写自己的存储过程。我真正想要的是:


  • 保持当前的设置,以将控件绑定到BindingSource(在本例中为bsCustomer)。
  • 允许使用TableAdapterManager福彩12选5走势图和保存WinForm上显示的文本框(我还手动创建了用于'Update','Insert','Delete'的存储过程。我想我可以在DataSet设计器中创建基本的存储过程,保存并返回以对其进行修改以包括一个联接,以便利用VS为我创建命令(用于福彩12选5走势图,删除,插入),但是我想我必须根据自己的需要对其进行修改(多个表格的删除,插入等)?

我的问题是:


  • 在WinForm中为“ LastName”等编辑文本框可以正常工作。但是,如果我编辑门牌号,它将所有记录(现在仅3条测试记录)福彩12选5走势图为相同的门牌号。

福彩12选5走势图SP的代码(我想是罪魁祸首?):
C#:
CREATE PROCEDURE [dbo].[CustomersAddresses_Update]
(    


-- Customer
@CustomerID int,
@Title nvarchar(8),
@FirstName nvarchar(50),
@MiddleName nvarchar(50),
@LastName nvarchar(50),
@StatusID int,


-- Address
@HouseNumber int
)
AS


BEGIN


    UPDATE dbo.Customers SET


    Title = @Title,
    FirstName = @FirstName,
    MiddleName = @MiddleName,
    LastName = @LastName,
    StatusID = @StatusID


    WHERE CustomerId = @CustomerID


    UPDATE dbo.Addresses SET


    HouseNumber = @HouseNumber


END

“保存”按钮的代码:

C#:
            this.Validate();
            this.bsCustomer.EndEdit();


            if (ds.HasChanges())
            {
                MessageBox.Show("Changes detected");


                dbCustTestDataSetTableAdapters.TableAdapterManager tm = new dbCustTestDataSetTableAdapters.TableAdapterManager();
                try {
                    dbCustTestDataSetTableAdapters.CustomersTableAdapter cta = new dbCustTestDataSetTableAdapters.CustomersTableAdapter();
                    tm.CustomersTableAdapter = cta;
                    tm.UpdateAll(ds);
                    ds.AcceptChanges();
                }
                catch(Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                }
            else
                MessageBox.Show("No changes.");

我刚刚记得的一件事是,当我针对TableAdapter配置中的相关命令分配了所有存储过程时,如果@customerID(“ Update” SP中的输出)没有值,则会出现错误-如果这是相关的。

谢谢。
 
Last edited:
最佳 底部