ADOQuery.Insert插入记录时没问题,但修改、删除时就出现问题,LockType :=ltOptimistic时提示“无法定位记录:可能在最后打开后已改变”,
LockType :=ltPessimistic或ltUnspecified时提示“对象或提供这不能执行所需的操作”一定要用SQL语句来完成这些操作吗?

解决方案 »

  1.   

    原因 :出现这些问题的原因,不太清楚。
    解决:在对数据库记录进行操作的时候,采用事务处理来完成:
    try
      adoconnection1.BeginTrans;
      .....
      adoconnection1.CommitTrans;
    except
      adoconnection1.RollbackTrans;
    end;
      

  2.   

    MySQL不支持Transaction呀,4.0以前的版本是这样的。
      

  3.   

    我不知道你是用mysql oledb还是myodbc,mysql目前还不支持ltPessimistic
      

  4.   

    用MyODBC,MySQL不支持记录级锁定,是不是不能用Delphi的数据感应控件(通过ODBC连接)来更新记录?另外,我用GUI(MyCC)建表,但插入记录竟然连是否允许为空都不会检查,大家碰到这种情况,用MySQL有什么好的建议吗?