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#?
感谢您的帮助
答
您可以轻松地引用在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
我不明白这是如何做,除非有更多的逻辑,你没有告诉我们。如果copy-to表有'1,Bill'和copy-from表有'1,Joe'这是正确的?并决定哪个是正确的,应该复制哪些额外的记录?如果他们有比赛呢? – Fionnuala
在你的例子中,我想: 1,Bill 2,Joe 目标数据库中没有数据被修改。 Steve,这不是语言问题,我知道2 :) – Pachanka
如果您忽略主键(这是将Joe分配给2的原因),从一张表复制到另一张表没有任何困难。那么相关的表呢?你忽略了他们的钥匙?这一切都取决于在这个阶段的规模,你说很多外键,这是很多的编程。您必须将外键与现有外表和新数据库外表匹配,并确保它们相同,除非当然,外表完全匹配。 – Fionnuala