【发布时间】:2015-06-22 10:37:20
【问题描述】:
我正在制作简单的应用程序。它只有一个按钮“添加”来在数据库中添加新数据。首先它没有插入数据,当我在表格上按右键然后选择“显示表格数据”时,我检查了它,它什么也没显示。而当我再次陈述程序时,datagridview 也是空的。之后,我将解决方案资源管理器中的数据库选项“复制到输出”更改为“不复制”,出现该错误。 当我按下该按钮时,会出现该异常
“System.Data.SqlClient.SqlException”类型的未处理异常 发生在 System.Data.dll
附加信息:尝试附加自动命名的数据库 对于文件 c:\users\sanan\documents\visual studio 2013\Projects\Test\Test\bin\Debug\Base.mdf 失败。一个数据库与 存在同名文件,或指定文件无法打开,或位于 在 UNC 共享上。
我还有一个名为“Base.mdf”的数据库,项目文件夹中有表“Stu”(不在调试中)
这是要添加的代码
private void Form1_Load(object sender, EventArgs e)
{
//this.stuTableAdapter.Fill(this.baseDataSet.Stu);
}
private void button1_Click(object sender, EventArgs e)
{
SqlConnection connection = new SqlConnection
(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Base.mdf;Integrated Security=True;");
connection.Open();
SqlCommand command = new SqlCommand("insert into Stu values(@id,@Name,@SurName)",connection);
command.Parameters.AddWithValue("@id", int.Parse(textBox1.Text));
command.Parameters.AddWithValue("@Name", textBox2.Text);
command.Parameters.AddWithValue("@SurName", textBox3.Text);
command.ExecuteNonQuery();
this.stuTableAdapter.Fill(this.baseDataSet.Stu);
}
}
}
【问题讨论】:
-
您是否阅读了错误信息?您是否确认
Base.mdf被复制到|DataDirectory|(可能是`bin\{BuildConfiguration}` 目录)?或者是否已经有一个同名的数据库附加到 SQL Server 实例?还是您的项目目录在网络共享/驱动器上? -
错误消息似乎相当明确地说明出了什么问题。
-
@stakx 我在 bin 文件夹中没有数据库,当我将数据库选项“复制到输出目录”设置为“不复制”时出现此错误。我这样做是因为该数据库是本地的,是在 Visual Studio 中创建的,上面添加的代码没有插入值。
-
@panda007:您刚刚说明了最初导致错误的原因。您收到的错误消息明确指出这是一个可能的原因。那么您在哪里需要进一步的帮助呢?
-
@stakx 我想在我的本地数据库中插入值。首先它没有插入,然后当我制作“请勿复制”时开始出现该错误
标签: c# sql-server database visual-studio ado.net