我用adotable遍历数据库,将符合条件的记录添加到adoquery,用dbgrid显示,但会添加到数据库
我只是显示用,不想添加到数据库,不知道能不能实现

解决方案 »

  1.   

    你是怎么添加到Query里去的啊?
      

  2.   


             adoq_list.insert;
            adoq_list.FieldByName('单位名').AsString:=adot.FieldByName('单位名').AsString;
            adoq_list.FieldByName('地址').AsString:=adot.FieldByName('地址').AsString;
            adoq_list.FieldByName('开户银行').AsString:=adot.FieldByName('开户银行').AsString;
      

  3.   

    ADOTable1.CursorType:=ctStatic;
      ADOTable1.LockType:=ltBatchOptimistic;
      ADOTable1.UpdateBatch;
      

  4.   

    DBGrid直接关联到一个AdoQuery,DBGrid.ReadOnly := true;行不?
    只是不知道你为什么要用AdoTable来遍历数据库呢
      

  5.   

    对 ADOQuery的操作就是对视图的操作,会对实际的表产生影响的。
      

  6.   

    dbgrid有个只读的数据,设置它就可以只看而不能操作,不能操作也就不能写入数据库啦
      

  7.   

    有个控件 有来暂时保存本地数据的,忘记叫什么了
    我以前的工程师一直让我用哪个东西,我是十分讨厌 哈哈
    你找找吧
    他的原理是,将数据保存在本地, 然后才通过自己写的SQL写到数据库
      

  8.   

    只查询是不会变更数据库的,看来你还没理解。用query塞选部分数据显示在dbgrid上,对数据库没有什么影响的。
      

  9.   

    adoQuery的LockType设成ltReadOnly就可以了。
      

  10.   

    当然不是只查询的,按照楼主的意思,
    应该在遍历TADOTable的时候,把符合条件的记录用:
    ADOQuery1->AppendRecord(...)添加进来的。要知道ADOQuery也可以进行DML操作,影响实际的表。
      

  11.   

    adoQuery的LockType设成ltReadOnly就可以了。
    -----------------------------------------
    那样的话如何往ADOQuery1里面Append添加数据记录呢?
      

  12.   

    是不是可以用 procedure TForm.ADOTFilterRecord(DataSet: TDataSet; var Accept: Boolean);
    来处理?
    ADOTFilterRecord是不是可以对每一条记录进行筛选?还是只能对整个表操作?
      

  13.   

    设置:
    adoQuery的 LockType 为ltReadOnly