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