以编程方式使用C#更新MS Access数据库中的链接表

我有两个Access 2003数据库(fooDb和barDb). fooDb中有四个表链接到barDb中的表.两个问题:如何更新表格内容(fooDb中的链接表应与barDb中的表格内容同步)如何使用ADO.NET将表重新链接到不同的barDb我用谷歌搜索,...

我有两个Access 2003数据库(fooDb和barDb). fooDb中有四个表链接到barDb中的表.

两个问题:

>如何更新表格内容(fooDb中的链接表应与barDb中的表格内容同步)
>如何使用ADO.NET将表重新链接到不同的barDb

我用谷歌搜索,但没有得到任何有用的结果.我发现如何在VB(6)和DAO中实现这一点,但我需要一个C#的解决方案.

解决方法:

如果您使用C#进行编码,则不涉及Access,仅涉及Jet.因此,您可以使用任何您想要访问数据的方法,然后对更新进行编码.

我在Access中多次编写了这种东西,我对每个表的方法是:

>运行从barDB中不再存在的fooDB中删除的查询.
>运行一个查询,该查询插入barDB中fooDB中尚不存在的fooDB记录中.
>我总是使用编写即时SQL的代码来使用barDB中的数据更新fooDB表.

第三个是艰难的.我遍历DBA中的fields集合并在运行中编写SQL,如下所示:

UPDATE table2 INNER JOIN table1 ON table2.ID = table1.ID
SET table2.field1=table1.field1
WHERE (table2.field1 & "") <> (table1.field1 & "")

对于数字字段,您必须使用可用的SQL方言函数将Null转换为零.运行Jet SQL,我当然使用Nz(),但这不能通过ODBC工作.但不确定它是否适用于OLEDB.

无论如何,重点是发出一堆逐列的SQL更新,而不是逐行尝试,这样效率会低得多.

本文标题为:以编程方式使用C#更新MS Access数据库中的链接表

基础教程推荐