1

我们如何使用 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

提前致谢。

4

1 回答 1

2

使用Path.Combineand aOleDbConnectionStringBuilder创建一个有效的连接字符串:

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帮助。

于 2013-01-24T15:27:43.893 回答