2013-07-23 22 views
0

我有數據集 3個表中插入當我點擊保存按鈕, 我想補充這些表到數據庫表使用數據適配器 所有這3個表中的主鍵是sql生成的自動編號。如何編寫一個插入語句時,許多關係表與dataTable的

關係船發票,InvoiceProduct,InvoiceProductExp表是: InvoiceNo有很多InvoiceProductNo InvoiceProductNo有許多InvoiceProductExpNo

下面的代碼不能解決這些relaionship

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) 
+0

你是怎麼執行這段代碼的?你有什麼錯誤?此代碼適用於我在SSMS中直接執行時以及在c#中以各種方式執行時的代碼。 – jpw

回答

0

如果您使用的數據集和DataAdapter,你不應該發佈所有這些語句。每個數據適配器只需知道如何更新其記錄。更新父代時,標識值將自動放入數據集中,並自動設置子記錄(假設您正確設置了關係)。然後,更新子表。

閱讀this的一些意見SO線程,那裏有一些很好的代碼片段。

+0

我已經看到轉換 我沒有得到的是所有的主鍵都是自動生成的,我怎樣才能使數據集中的關係 請回復任何東西!謝謝你 – deva

相關問題