2012-08-23 64 views
0

我有2個具有相同結構但具有不同數據的MS Access數據庫。 我想從1個數據庫複製記錄到另一個。VB.net/C#將記錄從一個數據庫複製到另一個

實施例:


Database Source, table Person 
Record 1: 
Field 1, PersonNumber, primary key, value : 1 
Field 2, CompanyNumber, foreign key, value : 1 

Database Source, table Company 
Record 1: 
Field 1, CompanyNumber, primary key, value : 1 
Field 2, CompanyName, value : Microsoft 

所以,存在對CompanyNumber 2和表之間的關係。因此,如果我想複製目標數據庫中的2個表的這2條記錄,我可能會遇到問題,如果我已經有一個人或一個公司的主鍵在目標表中的值爲1。

第二個問題,我所有的表都有很多外鍵,例如如果公司的記錄沒有創建,如何從人員複製記錄?

我該如何處理vb.net或C#?

感謝您的幫助

+0

我不明白這是如何做,除非有更多的邏輯,你沒有告訴我們。如果copy-to表有'1,Bill'和copy-from表有'1,Joe'這是正確的?並決定哪個是正確的,應該複製哪些額外的記錄?如果他們有比賽呢? – Fionnuala

+0

在你的例子中,我想: 1,Bill 2,Joe 目標數據庫中沒有數據被修改。 Steve,這不是語言問題,我知道2 :) – Pachanka

+0

如果您忽略主鍵(這是將Joe分配給2的原因),從一張表複製到另一張表沒有任何困難。那麼相關的表呢?你忽略了他們的鑰匙?這一切都取決於在這個階段的規模,你說很多外鍵,這是很多的編程。您必須將外鍵與現有外表和新數據庫外表匹配,並確保它們相同,除非當然,外表完全匹配。 – Fionnuala

回答

1

您可以輕鬆地引用在MS Access SQL另一個數據庫,語言也沒關係,只是連接:

SELECT Table1.AText, Table1_1.AText 
FROM [;database=z:\docs\test.accdb].Table1 
INNER JOIN Table1 AS Table1_1 ON Table1.ID = Table1_1.ID; 

之後,有大量編碼檢查一切。

+0

Hum,nice idea,我會用這種方式 – Pachanka

相關問題