我的 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 上运行相同的查询,它将获取数据