我的 Access 数据库不返回任何带有 xsd 数据集的行

Posted

技术标签:

【中文标题】我的 Access 数据库不返回任何带有 xsd 数据集的行【英文标题】:My Access database does not returns any row with a xsd DataSet 【发布时间】:2011-03-24 17:49:40 【问题描述】:

我必须导入一个 Access 数据库。当我将 mdb 文件复制/粘贴到应用程序中时,它创建了一个相应的 XSD 数据集,所以我继续使用它(我认为它比使用 ODBC 查询要容易得多)。 我尝试使用这些行查询数据库:

        var dsAccess = new data.DATAGESTIONDataSet();
        var RaisonSociales = from rs in dsAccess.Tb_Raison_Soc
                             select rs;
        foreach (var rs in RaisonSociales)
        
            Console.WriteLine(rs.Raison_Soc);
        

很遗憾,select 语句没有返回任何行。

“Linq to SQL 类”和 ADO.Net Entity Framework 不支持 MS Access :(

有什么想法吗? 谢谢

编辑:这是解决方案,感谢@Daniel Hilgart:

        var cn = new OleDbConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ImportSerce.Properties.Settings.DATAGESTIONConnectionString"].ToString());
        var cmd = new OleDbCommand("SELECT * FROM [Tb_Raison_Soc]", cn);
        var da = new OleDbDataAdapter(cmd);
        var tds = new data.DATAGESTIONDataSet();
        da.Fill(tds, tds.Tb_Raison_Soc.TableName);
        var rsMS = from rs in tds.Tb_Raison_Soc
                   select rs;
        foreach (var rs in rsMS)
        
            Console.WriteLine(rs.Raison_Soc);
        

不完全一样漂亮,使用起来有点麻烦,但至少它有效。谢谢!

【问题讨论】:

【参考方案1】:

您需要通过在生成的DataAdapter 上调用Fill 来填充DataSet,并传递您的DataSet 和表名。更多信息可以在这里找到:http://support.microsoft.com/kb/320714

【讨论】:

以上是关于我的 Access 数据库不返回任何带有 xsd 数据集的行的主要内容,如果未能解决你的问题,请参考以下文章

不通过 C# 从 ms access 数据库返回任何数据,如果我在 ms access 上运行相同的查询,它将获取数据

Access 2007 - 左连接返回正确结果,内连接不返回任何结果

返回带有零而不是空值的 Access 记录集

带有“必需”属性选项的 XSD 相关查询

针对 XSD 验证 XML [重复]

PHP - 带有 unicode 正则表达式的 XSD 模式验证错误