C# 如何为要与dataTable一起插入的一对多关系表编写insert语句

C# 如何为要与dataTable一起插入的一对多关系表编写insert语句,c#,sql-server,tsql,C#,Sql Server,Tsql,我在数据集中有3个表 当我点击保存按钮时, 我想使用数据适配器将这些表添加到数据库表中 所有这3个表的主键都是sql生成的自动编号 关系发货发票、发票产品、发票产品EXP表包括: InvoiceNo有许多InvoiceProductNo InvoiceProductNo有许多InvoiceProductExpNo 以下代码无法解决这些关系 DECLARE @InvoiceNo INT DECLARE @InvoiceProductNo INT INSERT INTO Invoice ([Date

我在数据集中有3个表 当我点击保存按钮时, 我想使用数据适配器将这些表添加到数据库表中 所有这3个表的主键都是sql生成的自动编号

关系发货发票、发票产品、发票产品EXP表包括: InvoiceNo有许多InvoiceProductNo InvoiceProductNo有许多InvoiceProductExpNo

以下代码无法解决这些关系

DECLARE @InvoiceNo INT
DECLARE @InvoiceProductNo INT
INSERT INTO Invoice ([Date])
VALUES (GETDATE())
SELECT @InvoiceNo = SCOPE_IDENTITY()
INSERT INTO InvoiceProduct([InvoiceNo])
VALUES (@InvoiceNo)
SELECT @InvoiceProductNo = SCOPE_IDENTITY() 
INSERT INTO InvoiceProductExp ([InvoiceProductNo], [InvoiceNo])
VALUES (@InvoiceProductNo, @InvoiceNo)

如果您使用的是Dataset和DataAdapter,则不应发出所有这些语句。每个数据适配器只需要知道如何更新其记录。更新父表时,标识值将自动放入数据集中,子记录将自动设置(假设您正确设置了关系)。然后,更新子表


阅读SO线程中的一些注释,其中有一些很好的代码片段。

您是如何执行此代码的?你犯了什么错误?无论是直接在SSMS中执行,还是在c#中以各种方式执行,这段代码对我都有效。我看到了转换,但我没有看到的是所有主键都是自动生成的,我如何在数据集中建立关系请回复任何信息!谢谢你