查询MS Access数据库在C#

问题描述:

可能重复:
Query Microsoft Access MDB Database using LINQ and C#查询MS Access数据库在C#

林与MS Access数据库的工作,并想知道如果我可以使用LINQ查询这个数据库?我读了关于数据集,但通过阅读:http://blogs.msdn.com/b/adonet/archive/2007/01/26/querying-datasets-introduction-to-linq-to-dataset.aspx 我看到,没有太多的数据库可以通过数据集。任何人都可以帮助我,我可以怎么回合呢?谢谢:)

+0

请阅读:http://stackoverflow.com/questions/295772/query-microsoft-access-mdb-database-using-linq-and-c – adatapost

不幸的是LINQ不支持访问数据库。随着工作你周围可以使用Ado.net数据集从数据库

//create the connection string 
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\myDatabase.mdb"; 

//create the database query 
string query = "SELECT * FROM MyTable"; 

//create an OleDbDataAdapter to execute the query 
OleDbDataAdapter dAdapter = new OleDbDataAdapter(query, connString); 

//create a command builder 
OleDbCommandBuilder cBuilder = new OleDbCommandBuilder(dAdapter); 

//create a DataTable to hold the query results 
DataTable dTable = new DataTable(); 

//fill the DataTable 
dAdapter.Fill(dTable); 

拔出数据然后你可以使用LINQ到对象做你的查询(即使我不建议你使用这种方法,因为的表现不是很好)

var results = from myRow in dTable.AsEnumerable() 
where myRow.Field<int>("RowNo") == 1 
select myRow; 

These大家已经开发了一个Linq2Access项目。我从来没有用过它,也不知道质量或成熟度,但可能值得一试。