。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 无法保存;正被别的用户锁定。
===========================================
admin_company.aspx?Jid=1(或2,3,4,5)就是在这一个页面. 在更新admin_company.aspx?Jid=1是正常的.更新别的例如:admin_company.aspx?Jid=2就提示"无法保存,正在被别的用户锁定" 这是为什么啊 
protected void updata_Click(object sender, EventArgs e)//更新 
    { 
        int jid = Convert.ToInt32(ViewState["cid"].ToString()); 
        OleDbConnection con = DB.conDB(); 
        OleDbCommand cmd = new OleDbCommand("update [company] set [content]=@content where [jid]=" + jid, con); 
        cmd.Parameters.Add(new OleDbParameter("@content", OleDbType.VarChar, 8000)); 
        cmd.Parameters["@content"].Value = this.FreeTextBox1.Text; 
        con.Open(); 
        cmd.ExecuteNonQuery(); 
        con.Close(); 
      
            this.Response.Write(" <script>alert('更新成功'); </script>");  
    }

解决方案 »

  1.   


    可能是 更新1 之后,服务器端的 进程 仍然存在,更新2的时候被1 独占了,就报错了。
      

  2.   

    楼上的兄弟真好!!解决了.搞了我两天了~~~~~谢谢其他兄弟
      

  3.   

    解决了?如果你的程序已经商用,你敢让用户删除表来“解决”这个问题吗?了解你的数据库在多用户使用、当一个用户异常推出(而没有正常关闭数据库连接)时的问题,以及问题修复工具,并且把修复指令写到程序中。不要用那种手工破坏方法。
      

  4.   

    异常推出  ->  异常退出
      

  5.   

    楼上兄弟一看就是个有经验的高手.
    我错了!!
      

  6.   


    你哪里错了?你的表能不能删除自己是知道的,你现在用的是自己测试用的表为什么不能删?如果你已经发布了说明已经测试过了,出现这种问题的概率很小了,具体问题具体分析,不要人云亦云,4楼说的那种情况是如果,也就是4楼知道你的表是可以删除的,他只是提醒你找出错误的原因.像你这种情况找出原因不是那么容易的,所以有些时候不要追根究底,这样你很可能花了很多时间却什么问题也解决不了,就像楼主花了两天没有解决这个问题一样.问题因人而异!