我想在我的AttachDbFilename
中使用一个字符串作为SqlConnection
。
但是,当我给它提供一个字符串时,它是行不通的,只会给我一个空或无效的连接/故障。如何正确提供AttachDbFilename
作为字符串值代替正常设置的路径?
DialogResult result = openFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
string databasePath = openFileDialog1.InitialDirectory + openFileDialog1.FileName;
SqlConnection dataBaseConnection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=databasePath;Integrated Security=True;Connect Timeout=30;User Instance=True");
}
答案 0 :(得分:1)
您在字符串文字中有databasePath
,所以现在您要尝试附加一个Db文件名“ databasePath”,我假设它不存在。您可以执行此操作的一种方法是使用string.Format
,因此您将执行以下操作
string databasePath = openFileDialog1.InitialDirectory + openFileDialog1.FileName;
SqlConnection dataBaseConnection = new SqlConnection(string.Format(@"Data Source=.\SQLEXPRESS;AttachDbFilename={0};Integrated Security=True;Connect Timeout=30;User Instance=True", databasePath);
或者,对于更有条理的事情,您可以使用SQLConnectionStringBuilder类为您构建连接字符串,然后将构建器的AttachDbFilename属性设置为所需的字符串。