我是C#和SQL Server 2014 Express的新手,我正在使用Windows窗体。
我正在构建从/向SQL Server数据库读/写的小应用程序。
我试图自动附加SQL Server数据库,然后从名为Datagridview
的表中读取数据,然后填写 SqlConnection MyConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
SqlCommand MyCommand= new SqlCommand();
DataTable DataTable = new DataTable();
SqlDataAdapter Sql_Data_Adapter= new SqlDataAdapter();
private void button1_Click(object sender, EventArgs e)
{
MyConnection.Open();
MyCommand.CommandText = "SELECT * FROM Test_Table ";
MyCommand.Connection = MyConnection;
Sql_Data_Adapter.SelectCommand = MyCommand;
Sql_Data_Adapter.Fill(DataTable);
dataGridView1.DataSource = DataTable;
MyCommand.Parameters.Clear();
Sql_Data_Adapter.Dispose();
MyConnection.Close();
}
。
我使用的代码:
<connectionStrings>
<add name="MyConnectionString"
connectionString="Data Source=localhost; AttachDbFilename=D:\\DB\\MyDB.mdf;Integrated Security=True"/>
</connectionStrings>
App.config中:
button1
当我点击onSelect
时,它会抛出错误:
尝试为文件D:\ DB \ MyDB.mdf附加自动命名的数据库失败。存在具有相同名称的数据库,或者无法打开指定的文件,或者它位于UNC共享上。
我没有附加其他数据库且数据库路径正确。 我看了here,here和here,但没有帮助。
知道如何自动附加SQL Server数据库文件?谢谢
答案 0 :(得分:1)
您使用的SQL Server版本是什么?这将解释您的错误消息。
您的连接字符串:
&#34;数据源= localhost; AttachDbFilename = d:\ DB \ MyDB.mdf;集成 安全=真&#34;
您只能将AttachDbFilename与SQL Express一起使用。在您的连接字符串中,数据源设置为 localhost 。听起来你已经安装了完整版的SQL Server。
如果安装了完整版本的SQL Server,则只能通过Management Studio附加数据库。
如果您使用的是SQL Express,请更改数据源:
Data Source=.\SQLEXPRESS