我用了ADOQuery,DBGrideh控件,我想修改某一个单元格(通过picklist)的时候,
不让他存入数据库中?这个怎么控制?我现在每次我通过picklist修改某个单元的值的时候,就马上写入数据库中(好像是adoquery,open的缘故吧)
,我想把这个修改后的 值取出来,处理一下,然后再存入数据库中,怎么做!

解决方案 »

  1.   

    adoquery的lock type设置为ltBatchOptimistic
      

  2.   


    我看看,还有怎么遍历所有格子中的值(格子的值通过picklist已经改变),不用那个query.next方法,其实我只是不知道怎么通过行的循环条件判断?
      

  3.   

    再问如果设置了lock type设置了ltBatchOptimistic
    他是什么时候提交的??
      

  4.   

    还有怎么遍历所有格子中的值(格子的值通过picklist已经改变),我想应该不用那个query.next方法吧(因为单元格的值可能被修改了),其实我只是不知道怎么通过行的循环条件判断?
      

  5.   

    用Database的事务处理:在修改之前Database.StartTranscation,然后修改,修改,遍历格子,修改,最后提交:Database.commit;
      

  6.   

    adoquery的lock type设置为ltBatchOptimistic
      

  7.   

    那遍历整个dbgrideh用什么方法?
      

  8.   

    不想写进数据库:
    ADOQuery.Connection :=NIL;想写进数据库:
    ADOQuery.Connection :=ADOConnection;