当前位置:编程学习 > C#/ASP.NET >>

System.Data.OleDb.OleDbException: 无法保存;正被别的用户锁定的错误。

System.Data.OleDb.OleDbException:   无法保存;正被别的用户锁定的错误。 


  public static  void execnonsql(string sql)
    {
        try
        {
            OleDbConnection conn = DB.Getconn();
            OleDbCommand com = new OleDbCommand(sql, conn);
            com.ExecuteNonQuery();
        }
        catch (Exception e)
        {
            throw new Exception(e.Message);///  当字段很大的时候这行出错! 如果少量数据并没有出错!
        }
        finally
        {
            closeConnection(); 
        }

    }

这个有什么解决方法? --------------------编程问答-------------------- 没有人顶自己来顶一下。。。 --------------------编程问答-------------------- 人呢!!!  我急啊!!! --------------------编程问答-------------------- 前面注意加上OpenConnection();
你的Excel文件是不是还打开着哦````` --------------------编程问答-------------------- 没用过,有情up --------------------编程问答-------------------- 怎么没有看到人啊!!!  --------------------编程问答-------------------- 为什么会在大量数据出现这种情况呢,小量的数据没有出现。。。 --------------------编程问答-------------------- OpenConnection(); 
  

  写在哪呢!  我前面是打开的。 --------------------编程问答-------------------- 人呢!!  --------------------编程问答-------------------- 大家呢!!   各位哥哥、姐姐们在哪儿呢! --------------------编程问答-------------------- 哎,还是没有人! --------------------编程问答-------------------- 沒看明白。。。。 --------------------编程问答-------------------- 首先  你确认 OleDbConnection   conn   =   DB.Getconn(); 实例化后是否有 conn.open()

在看看你执行时SQL语句所操作的表 是不是 在本机的access打开了,本机打开的表会以独占的方式打开,程序里无法操作本机打开的表,吧表关了。数据库打开的话不影响操作。 --------------------编程问答-------------------- 没有打开,在服务上也出问题,就是说一次插入的数据不能太多,如果太多就会出现这种问题! --------------------编程问答-------------------- 有沒有可能是多個用戶正在訪問呢? --------------------编程问答-------------------- 但是少量数据更新又不会出错!!  更新太多就会出问题! --------------------编程问答-------------------- 加上conn.open() ; --------------------编程问答-------------------- 加入事务处理 --------------------编程问答-------------------- 什么事务处理。。。
在哪里加上conn.open();
--------------------编程问答-------------------- http://blog.cfan.com.cn/html/49/302849-318415.html
去看看吧 --------------------编程问答-------------------- 建议使用事务处理 --------------------编程问答-------------------- 我猜想你总是共用 DB.Getconn() 返回的静态 Connection 对象???

public class DB
{

public static OleDbConnection Getconn()
{
return new OleDbConnection(<<connectionstring>>);
}

}

  public static  void execnonsql(string sql)
    {
            OleDbConnection conn = DB.Getconn();
        try
        {            
            OleDbCommand com = new OleDbCommand(sql, conn);
            conn.Open();
            com.ExecuteNonQuery();
        }
        catch (Exception e)
        {
            throw new Exception(e.Message);///  当字段很大的时候这行出错! 如果少量数据并没有出错!
        }
        finally
        {
            if(conn != null) {conn.Close() }
            //closeConnection();
        }

    } 
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,