Я знаю, что это слишком поздно, но я была такая же проблема, как вы допрошен здесь, и это то, что работает для меня:
string con = String.Format(
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Persist Security Info=True;",
String.Format(
@"{0}\{1}",
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
"abcd.accdb"
)
);
@
позволяет использовать символы, такие как \
без backslashing них. Я всегда использую @
при вводе пути к файлу. Хотя я могу представить, что жесткие кодировки файловых путей в вашем коде, вероятно, не лучший способ сделать это, попробуйте это вместо (What is app.config for?).
Линия Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
разрешает значение переменной окружения %APPDATA%
.
Также обратите внимание, что это решение для accdb
файлов и если вы хотите использовать это для mdb
вам нужно изменить Provider
к Microsoft.JET.OLEDB.4.0
.
Надеюсь, этот ответ поможет кому-то.
Ну, я боюсь, что «Jackery Xu» вам нужно будет показать больше кода, чем это. Также ваша строка подключения выглядит немного – MethodMan
http://www.connectionstrings.com/access, а что только одна обратная косая черта? – adt