动态创建MS-Access的连接字符串

时间:2013-01-24 15:21:59

标签: c# ms-access

我们如何动态地使用C#编程创建到Microsoft Access的连接字符串?我尝试以下代码 -

OleDbConnection con = new OleDbConnection();
String path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + path + "\\nik.mdb";

我得到了这个结果:

Format of the initialization string does not conform to specification starting at index 55.

当我编辑我的字符串时,它看起来如下:

Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\nikhil\desktop\nik.mdb

提前致谢。

1 个答案:

答案 0 :(得分:2)

使用Path.CombineOleDbConnectionStringBuilder创建有效的连接字符串:

var conString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}"
                             , Path.Combine(dir, "nik.mdb"));
var conBuilder = new OleDbConnectionStringBuilder(conString);
using (var con = new OleDbConnection(conBuilder.ConnectionString))
{
    // ...
}

也许连接字符串中有空格。

更新由于您已编辑了问题并提供了连接字符串。 OLEDB.4.0;Data之间有一个空白区域。这可能是您例外的可能原因。然后ConnectionStringBuilder有帮助。