c# - 如何在 C# 中比较 2 个不同 MS Access 数据库中的 2 个相似表?

标签 c# sql ms-access

我被要求创建一个桌面工具来比较旧的 Access 数据库和更新的“更新” Access 数据库,并创建一个包含所有新记录或更改记录的 excel 文件。

我需要比较的数据库表是结构化的
主键 |说明。

我创建了一个简单的 Windows 窗体,允许用户选择旧数据库和新数据库,并且我想出了如何打开数据库并对它们运行 SQL 查询,但是我一直在研究如何在不生成数千个 SQL 的情况下进行比较调用每个数据库。

有了 SQL 服务器和 Web 服务器,我现在就可以完成了,但是将其创建为桌面应用程序和 MS Access 让我有点困惑。

最佳答案

这在 Access 中与在 SQL Server 中完全相同。只需编写一个为您进行比较的查询:

select t1.key, t1.description, t2.description
 from t1
   full outer join t2 on t1.key=t2.key
 where t1.description <> t2.description
    or t1.description is null
    or t2.description is null;

这将生成具有相同键但不同值的所有记录的列表。然后将记录集转储到文件或 GridView 或其他内容。

您也可以在纯 MS Access 中为此创建 UI,并完全跳过 C# 部分。那么这样做会非常快,而且 MS Access 非常适合构建 native UI。

关于c# - 如何在 C# 中比较 2 个不同 MS Access 数据库中的 2 个相似表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3670153/

相关文章:

database - 在 MS Access 中存储数据并在 Excel 中查询

c# - Visual Studio Windows Phone 7 播放声音

c# - Sitecore DateField 的 DateTime 属性显示错误的日期

c# - C# 中的对象指针(对象*)

ms-access - 为什么在循环中更改时该标签的前景色不会发生明显变化?

sql - MS Access 中条件表达式的数据类型不匹配

c# - 在 ToList() 期间另一个线程可以修改集合吗

sql - 我应该使用什么类型的数据结构来模拟文件系统?

java - Android 中的 SQLite 替换和外键

一列中有多个值的 SQL 查询