微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试查看数据时出现数据库错误

如何解决尝试查看数据时出现数据库错误

好的,

我有一个与我的 sql 数据连接交互的页面。它尝试运行一个存储过程,但每次我运行它时,它都会锁定显示错误数据库

1

这是连接和存储过程的触发代码` FileUpload1.SaveAs(Server.MapPath("images//" + FileUpload1.FileName)); string Image = MapPath("images//" + FileUpload1.FileName);

        sqlConnection con = new sqlConnection(@"Data Source=.\sqlEXPRESS;AttachDbFilename=|DataDirectory|\BOOKS.mdf;Integrated Security=True;User Instance=True");

                sqlCommand cmd = new sqlCommand("AddaBook",con);
            cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@Title",sqlDbType.NVarChar).Value = txtTitle.Text;
                cmd.Parameters.AddWithValue("@Image",sqlDbType.NVarChar).Value = Image;
                cmd.Parameters.AddWithValue("@Author",sqlDbType.NVarChar).Value = txtAuthor.Text;
                cmd.Parameters.AddWithValue("@PublishDate",sqlDbType.DateTime).Value = txtPublishDate.Text;
                con.open();
                cmd.ExecuteNonQuery();
                con.Close();
                cmd.Connection.Close();

                lblUploadResult.Text = "File uploaded successfully.";
                lblUploadResult.ForeColor = System.Drawing.Color.ForestGreen;

            }` 

感谢任何帮助,永远感谢您!

解决方法

尝试将您的 mdf 文件移出 OneDrive。有时,当 OneDrive 执行上传或它执行的许多其他进程之一时,它会锁定文件 - 特别是来自系统用户的文件。

,

这是说您的数据库正在使用中,因此您无法访问它。

确保没有访问数据库 without closing the connection 中的其他代码。

您也可以使用以下内容更新代码,因为删除了一些不需要的行。

    SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\BOOKS.mdf;Integrated Security=True;User Instance=True");

    SqlCommand cmd = new SqlCommand("AddaBook",con);
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.AddWithValue("@Title",SqlDbType.NVarChar).Value = txtTitle.Text;
    cmd.Parameters.AddWithValue("@Image",SqlDbType.NVarChar).Value = Image;
    cmd.Parameters.AddWithValue("@Author",SqlDbType.NVarChar).Value = txtAuthor.Text;
    cmd.Parameters.AddWithValue("@PublishDate",SqlDbType.DateTime).Value = txtPublishDate.Text;
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();

    lblUploadResult.Text = "File uploaded successfully.";
    lblUploadResult.ForeColor = System.Drawing.Color.ForestGreen;
,

您已经打开了文件,只是不知道。例如,如果您尝试打开一个名为 Test.txt 的文本文件(或者相反的一个已经打开的 .mdf 数据库文件),那么您将收到此错误,这也是您可能会发现其他错误的原因行,但都与第一个错误有关。

对于数据库,事情可能会变得有点棘手,因为您可以连接到数据库,但有时会出现错误并在不关闭连接或进程的情况下被踢出系统......此时当前正在运行但未知进程可能使连接保持活动状态。您可以查看系统上所有打开的进程,或者查看是否错误地打开了连接,然后在尝试通过应用程序打开它之前将其关闭。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。