我们如何动态地使用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
提前致谢。
答案 0 :(得分:2)
使用Path.Combine
和OleDbConnectionStringBuilder
创建有效的连接字符串:
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
有帮助。