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

时间:2011-03-24 17:49:40

标签: .net ms-access xsd dataset

我必须导入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实体框架不支持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 个答案:

答案 0 :(得分:3)

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