我必须导入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);
}
不完全漂亮,使用起来有点麻烦,但至少它有效。谢谢!
答案 0 :(得分:3)
您需要通过在生成的DataAdapter上调用DataSet
来填充Fill
,并传递您的DataSet
和表名称。更多信息可以在这里找到:http://support.microsoft.com/kb/320714