【问题标题】:An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dllSystem.Data.dll 中出现“System.Data.SqlClient.SqlException”类型的未处理异常
【发布时间】: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


【解决方案1】:

虽然我不知道这个问题的最终(工作)解决方案,但原因很可能与驻留在项目目录中的 database.mdf 有关。属性窗口中的 .mdf 和 .ldf 的设置可能会始终显示如果较新则复制。
数据库或服务器资源管理器在您的项目目录中查找,并在子文件夹 /bin/debug 中完成更改。不知何故,VS变得困惑。看看这里:

Why saving changes to a database fails

问候 安迪

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-01
    相关资源
    最近更新 更多