无法浏览SQL Server数据库的数据目录



我已经硬编码了数据库的数据目录。因为我想避免它,所以我决定使用FolderBrowserDialog并将对话框字符串存储到应用程序设置中。

这是硬编码的代码片段,它可以打开SQL连接:

AppDomain.CurrentDomain.SetData("DataDirectory", @"C:UsersOsmanDocumentsVisual Studio 2013ProjectsCompanyWPFCompanyWPF");
try
{
    using (SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)v11.0;AttachDbFilename=|DataDirectory|Produkt.mdf;Integrated Security=True"))
    {
        con.Open();
    }
}
catch (Exception ex)
{
    MessageBox.Show("Errorn" + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
}

但是当我使用应用程序设置中存储的字符串时:

AppDomain.CurrentDomain.SetData("DataDirectory",@"" + Properties.Settings.Default.ConnectionString);
try
{
    using (SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)v11.0;AttachDbFilename=@|DataDirectory|Produkt.mdf;Integrated Security=True") )
    {
        con.Open();
    }
}
catch (Exception ex)
{
    MessageBox.Show("Errorn" + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
}

则出现以下错误:

键'attachdbfilename'的值无效。

我设置了一个断点,从应用程序设置中存储的字符串的值为:

C:\Users\Osman\Documents\Visual Studio 2013\Projects\CompanyWPF\CompanyWPF\

我不知道你要做什么,但我认为这就是问题所在

            using (SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)v11.0;AttachDbFilename=@|DataDirectory|Produkt.mdf;Integrated Security=True") )

用这个代替

using (SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)v11.0;AttachDbFilename=|DataDirectory|Produkt.mdf;Integrated Security=True") )

注意:从这个"@|DataDirectory| "中删除@

相关内容

最新更新