0

我正在使用以下连接字符串访问基于服务的数据库

static string appath = Library_Records.Program.app_path;

string connectionstring = @"Data Source=.\SQLEXPRESS;AttachDbFilename=appath;Integrated Security = true;User Instance = True";
connection = new SqlConnection(connectionstring);

 static string dbfiles = null;
 internal static string app_path
 {
     get { return dbfiles = "|Datadirectory|\\5700.mdf"; }
 }

Library_Records:namespace, Program 是包含的类名Main()

当我打电话时connection.Open(),它给出了以下错误

尝试为文件路径附加自动命名的数据库失败。存在同名数据库,或无法打开指定文件,或位于 UNC 共享上。

5700是我的.mdf扩展名数据库。如何纠正这个问题?

4

1 回答 1

3

变量永远不会自动替换为字符串中的值,因此AttachDbFilename=appath;不会起作用。

您应该执行以下操作:

string connectionstring = 
    string.Format(@"Data Source=.\SQLEXPRESS;AttachDbFilename={0};Integrated Security=True;User Instance=True", appath);

connection = new SqlConnection(connectionstring);
于 2012-06-01T09:04:08.353 回答