我使用以下连接字符串
访问基于服务的数据库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
。如何纠正这个问题?
答案 0 :(得分:3)
变量永远不会自动替换为字符串中的值,因此AttachDbFilename=appath;
将不起作用。
您应该执行以下操作:
string connectionstring =
string.Format(@"Data Source=.\SQLEXPRESS;AttachDbFilename={0};Integrated Security=True;User Instance=True", appath);
connection = new SqlConnection(connectionstring);