在C#中访问数据库时出错

时间:2012-06-01 08:59:49

标签: c# sql-server database

我使用以下连接字符串

访问基于服务的数据库
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()时,会出现以下错误

  

尝试为文件appath附加自动命名的数据库失败。一个   存在同名的数据库,或指定的文件不能存在   打开,或者它位于UNC分享。

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

1 个答案:

答案 0 :(得分:3)

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

您应该执行以下操作:

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

connection = new SqlConnection(connectionstring);