我正在使用OLEDB
连接字符串。我需要自动迭代循环中可用的所有数据表我正在使用的代码如下:
Dblist = Directory.GetFiles(foldername,"*.mdb").ToList();
foreach (var db in dblist)
{
using (var connection=new OleDbConnection("Data Source=c:\\database\\pmgdb\\nd.mdb;Persist Security Info=False;Provider=Microsoft.Jet.OLEDB.4.0;"))
{
}
}
在上面的代码中,我只在连接字符串中添加了一个数据表,我需要动态地将列表中的所有表名添加到连接中,请帮忙。
答案 0 :(得分:0)
连接字符串可以在你的情况下设置为ONE数据库(.mdb)文件 - 一次。
此外,如果您要在连接字符串中对.mdb文件的路径进行硬编码,那么直接浏览刚刚提取的文件名是什么意思?
你想做的事情就像:
List<string> dblist = Directory.GetFiles(foldername,"*.mdb").ToList();
foreach (var db in dblist)
{
Using (var connection=new OleDbConnection("Data Source=" + db + ";Persist Security Info=False;Provider=Microsoft.Jet.OLEDB.4.0;"))
{
//my query ...
}
}
您应该做的是创建连接数组\ list,并将每个连接字符串分配给不同的连接。
请记住尽可能晚地打开连接并尽快关闭连接。