比较只使用MS Office和表C#

问题描述:

一个宠物项目工作有关效率和数据的最佳途径,这就是使命声明:比较只使用MS Office和表C#

我有一个Access数据库与表的X量,每片含向上的2000 [格式] [装箱] [箱子] [系列] [名称] [区域]的最大约15000个条目。 现在,我有另一个表(称为Bluuur)与n条条目,我想比较这个表(包含连续)到Access DB中的所有表,并返回连续的匹配以及记录的名称匹配。 所以输出应该是这样的: 提米360(一个比较,其中邓肯有360场比赛,Bluuur)

注:我开发一个应用程序来做到这一点

我会使用与OleDbConnection的连接字符串如:

OleDbConnection connToFile = new OleDbConnection(String.Format(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}; Extended Properties=""Excel 8.0;HDR=Yes"";", fileName)); 

与MS Access类似。然后将两个表加载到内存并进行比较。

更新 好吧,对不起,我最初没有得到您的问题。 答案更多取决于要求:

  1. XLS中的表是静态的还是动态的?如果它是静态的,那么将XLS导入到MS Access中,并且如果您只需要获取自己使用的值,请使用Query Editor来选择和连接表,如下所示:selectA.Name,tableA中的count(b.ID)一个内部联接tableB b on a.Name = b.Name group by a.Name
  2. 如果XLS中的表是动态的,但是您需要再次使用它以达到您自己的目的,请在MS Access中创建链接的数据源XLS文件并再次使用查询编辑器执行选择。
  3. 如果所有这些目的都是为了让网页/应用程序连接到Microsoft Access和XLS并加入数据,并且会定期执行此操作,那么您有两种可能的解决方案:在内存中执行此操作,或者使用已保存的查询执行此操作,然后使用OleDbConnection/OleDbDataAdapter将数据加载到应用程序中并将其显示给用户。内存方法可能不是最好的表现,所以编写MS Access查询,它将根据需要连接和分组数据,并使用OleDbConnection连接MS Access MDB文件并执行查询。或者,如果您需要为MS Access中的多个表执行此操作,请直接在代码中编写查询文本,对每个连接执行,然后结果结果。
+0

-1 OP在询问如何进行比较。你只是重申他的问题。 – Pepe 2011-05-10 08:30:10

+0

@ peter-r你不想给他更多的时间来阐述吗? – ariel 2011-05-10 08:32:44

+0

@ariel当然!如果他能详细说明会很棒,但除非答案被编辑(已经超过6分钟),否则我不能改变我的投票。 – Pepe 2011-05-10 08:37:21

如果我不正确,那么一个表(您需要比较)不在MS Access数据库中。快速解决方案如下所示:将“Bluur”表导入Access数据库(最有可能使用Access导入数据向导)。现在,您可以使用简单的JOIN查询再次测试数据库中的所有其他表。

+0

coolio ...唯一的问题是,我如何获得输出? – Dani 2011-05-10 09:19:51

+0

很明显,你需要编写一个连接数据库的程序,执行所有连接评估和显示结果。 – 2011-05-10 10:09:46