使用C#访问MS Access

时间:2011-06-16 08:37:51

标签: c# .net dataset ms-access-2007

我要检索使用MS Access(:'()。

的现有系统的信息

所以我在项目中添加了一个现有项目(mdb),它创建了一个与我所有表格相对应的DataSet。

完成此操作后,我尝试访问这些数据:

        ClsDataSet dataSet = new ClsDataSet();

        foreach (ClsDataSet.DOCDOCUMENTSRow docdocumentsRow in dataSet.DOCDOCUMENTS)
        {
            System.Console.WriteLine(docdocumentsRow.nom_document+"-->"+docdocumentsRow.nom_fichier);
        }
        System.Console.ReadLine();

仅测试...

但它没有进入foreach,似乎它认为表是空的?我直接踩了ReadLine();

所以我错过了什么?我没有任何例外..

我应该加载这样的表格吗?

谢谢!

3 个答案:

答案 0 :(得分:3)

在您发布的代码段中,没有任何TableAdapter填充您创建的数据集中的架构。 DataSet只是对db-side所具有的内容的表示,因此它只是db表的结构,并不直接包含数据。

要使用数据库记录填充架构,您必须调用相关Fill的{​​{1}}方法。通常,当您在TableAdapter架构(.xsd)中拖放某个数据库表时,Visual Studio Designer会自动创建它。

答案 1 :(得分:0)

使用构造函数创建数据集尚未检索数据。您需要代码 fill (=>从MDB文件中选择行并将它们存储在数据集实例中)首先放置数据集。

最简单的方法是创建与MDB文件的ODBC连接,并使用OdbcConnection和相应的OdbsCommand实例创建实际连接和“SELECT”语句。

修改
您可以使用表适配器设计器直接连接到MDB文件。然后,您不需要创建ODBC连接。

答案 2 :(得分:0)

以下是有关连接到Access数据库的教程 - http://www.homeandlearn.co.uk/csharp/csharp_s12p4.html。底部有一个链接到该网站上的另一个页面,关于如何检索数据。