1,我需要在一个dbgrid中选择一下数据,把选中的数据insert 另一个dbgrid中
2.我看到好多程式都有这个功能,就是双击就过去了。同时要把前一个dbgrid的数据给清了,但后台的数据库的数据不能删除。

解决方案 »

  1.   

    LockType := ltBatchOptimistic;
    随便删除,只要不BatchUpdate就好。
      

  2.   

    我没试,但是还有一个问题。
    如果我把第二个dbgrid的数据也希望能够返回第一个值怎么办
      

  3.   

    什么意思?
    要取dbgrid的值,可操作数据集取得,也可直接从dbgrid中取得。
      

  4.   

    用2个 ClientDataSet 控件
      

  5.   

    dbgrid,设置LockType := ltBatchOptimistic; 
      

  6.   

    dbgrid,设置LockType := ltBatchOptimistic; 
             ADOQuery2.Append;
              ADOQuery2.FieldByName('id').Value:=ADOQuery1.FieldByName('id').AsString;
      

  7.   

    用ADOQUERY先用数据集拷贝一个,然后保存到你的指定一个临时表文件.然后再用ADOQUERY打开临时表,这时你删除增加都是在本地数据集中操作,不影响远程服务器.adoquery1.sql.add('select * from tb_a');  
    adoquery1.open;                             
    --------------------假设之前把TB_A都拿到了.
    adoquery1.savetofile('c:\tmp.001',pfADTG);     //自己保存一个文件,格式可以是ADTG(默认)和XML(pfXML)   
    --------------------
    adoquery1.LoadFormFile('c:\tmp.001');         //呵呵,这个时候拿到的TMP.001就是本地的数据集了,你做什么都没关系.不影响,服务器上面的表.
    ==========================
    你可以在这表中进行操作,比如双击,复制到另一表中,然后按条件删除该表记录.随便你做了.
      

  8.   

    LockType := ltBatchOptimistic; 設為緩存模式