ACCESS数据库不支持并发操作,需要在使用完毕立即Close,如果有一个程序在使用ACCESS,别的程序则不同同时使用

解决方案 »

  1.   

    原因找到了, 数据表中有一个备注类型的字段, 如果这个字段内的文字长度超过2000个字符, 更新此条记录这个字段的时候就会有System.Data.OleDb.OleDbException: 无法保存;正被别的用户锁定的错误。这个有什么解决方法?
      

  2.   

    Access 更新的这个表打开了
      

  3.   

    今天我也遇到了这个问题,这个需要把c#中的类型改成和access对应的
      OleDbCommand cmd = new OleDbCommand("update product set pic=@pic,cpname=@cpname,riqi=@riqi,cpfenlei=@cpfenlei,cpshuoming=@cpshuoming,company=@company where id="+showid,conn);
                    cmd.Parameters.Add(new OleDbParameter("@pic", OleDbType.LongVarBinary));
                    cmd.Parameters.Add(new OleDbParameter("@cpname", OleDbType.VarWChar));
                    cmd.Parameters.Add(new OleDbParameter("@riqi", OleDbType.VarWChar));
                    cmd.Parameters.Add(new OleDbParameter("@cpfenlei", OleDbType.VarWChar));
                    cmd.Parameters.Add(new OleDbParameter("@cpshuoming", OleDbType.LongVarChar));
                    cmd.Parameters.Add(new OleDbParameter("@company", OleDbType.VarWChar));cmd.Parameters.Add(new OleDbParameter("@cpshuoming", OleDbType.LongVarChar));这一句我原来用的类型是VarWChar,改成LongVarChar后测试通过