我有必要使用 C# .net 编写一个应用程序来编辑特定的 .mdb 文件。
它纯粹是一个部门内应用程序,用于读取部门内文件,有争议的是,这些文件不应该是 .mdb 文件,但我在这方面没有选择。我正在推动更改为 XML 文件,但那是另一回事。
这些文件非常有限,大约有 3 个表,每个表有 100 条左右的记录;所以我希望将整个数据库读入应用程序特定的对象。任何错误都将被忽略,新的数据库副本将覆盖前一个数据库副本。数据库是一种非常具体的格式,我很容易验证或丢弃。
.net 中似乎有很多实际读取/写入 mdb 的方法,这让我感到困惑。谁能推荐一个最好的吗?
您可以尝试使用此代码 - 基于Oledb provider
var mdb = "c:\MyDB.mdb";
var myDataTable = new DataTable();
using(var connection = new OleDbConnection(....."))
{
//Here sample format of string connection
//"Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source="
//+ mdb + ";Mode=Share Deny None;Extended Properties='';Jet OLEDB:System database='';Jet OLEDB:Registry Path='';Jet OLEDB:Engine Type=4;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False
connection.Open();
var query = "SELECT * from TABLE"; //Adjust your query
var adapter = new OleDbDataAdapter(query, connection); //This assigns the Select statement and connection of the data adapter
OleDbCommandBuilder oleDbCommandBuilder = new OleDbCommandBuilder(adapter); //This builds the update and Delete queries for the table in the above SQL. this only works if the select is a single table.
dadapt.Fill(MyDataTable);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)