VB.net/C#将记录从一个数据库复制到另一个

问题描述:

我有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

您可以轻松地引用在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