我在C#中开发了一个Windows应用程序,其数据库在Access 2010中。
我有数据库连接字符串,但是它给出了一个错误: OleDbException未处理
请告诉我这是什么问题&它的解决方案。
con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="\\dtinaurdsna02\\LE-IN\\Admin\Quality Rating\\Quality_Rating_Tool\\Quality_Rating_Tool.accdb";Persist Security Info=True;");
答案 0 :(得分:4)
如果您确切知道路径,可以使用
con = new OleDbConnection
(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source
=\dtinaurdsna02\LE-IN\Admin\Quality
Rating\Quality_Rating_Tool\Quality_Rating_Tool.accdb;
Jet OLEDB:Database Password=xxxxxxx;
Persist Security Info=True;");
如果数据库在app文件夹中,您可以在下面使用
string path = Environment.CurrentDirectory;
path = path + "\\Quality_Rating_Tool.accdb;";
con = new OleDbConnection
(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source" + path);
答案 1 :(得分:1)
1)\\
是转义\
2)由于引号,您在Source=
之后结束字符串。您可以使用'而不是'。
3)@
禁用转义
您需要阅读有关Escaping的内容!
con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;DataSource='\\dtinaurdsna02\\\LE-IN\\Admin\Quality Rating\\Quality_Rating_Tool\\Quality_Rating_Tool.accdb';Persist SecurityInfo=True;");
答案 2 :(得分:0)
您的"数据源=" \ dtinaurdsna02 \ LE-IN \ Admin \质量评级\ Quality_Rating_Tool \ Quality_Rating_Tool.accdb"是在倒置的逗号中,例如。("")取消了原始的引号...将其更改为此
con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='\\dtinaurdsna02\\LE-IN\\Admin\Quality Rating\\Quality_Rating_Tool\\Quality_Rating_Tool.accdb';Persist Security Info=True;");
答案 3 :(得分:0)
var connect = @“ Provider = Microsoft.Jet.OleDb.4.0;数据源= C:\ Users \ User1 \ Desktop \ test.mdb”;
using(var conn = new OleDbConnection(connect)) { 这里的代码 }
这样使用