adoquery2 := tadoquery.assign(adoquery1)
adoquery := tadoquery.Create()

解决方案 »

  1.   

    firetoucher(蹈火者):这样能实现吗?能不能稍加说明一下?
      

  2.   

    呵呵,回答这个问题菜鸟就够了
    ====================================
    要求您的adoquery1,adoquery2都分别连接到相应的数据库
    adoquery1.close;
    adoquery2.close;
    adoquery1.sql.clear;
    adoquery2.sql.clear;
    adoquery1.sql.add('select * from table1');
    adoquery2.sql.add('select * from table2');
    adoquery1.open;
    adoquery2.open;
    while not adoquery1.eof do
     begin
      if adoquery1.fieldbyname('field1name').value.....//满足您的条件
      then
       begin
      adoquery2.insert;
      adoquery2.fieldbyname('field1name').value:=adoquery1.fieldbyname('field1name').value;
      adoquery2.fieldbyname('field2ame').value:=adoquery1.fieldbyname('fieldbyname').value;
    .......//把您需要的字段都复制过去.
      adoquery1.delete;
    end;
    adoquery1.next
    end
      

  3.   

    1,直接用sql语句insert和delete 
    2,建议使用InfoPower 3000
      

  4.   

    第二个问题:
    ========
    判断一下dbgrid.option.dgmultiselected是否为true就知道能否多行选定了;
    ================================================================
    给一个例子,好好看一下就知道怎么用了.
    将dbgrid1中的数据添加到dbgrid2中,所以:
    楼上同学的方法改一下:
    begin
      if DBGrid1.SelectedRows.Count>0 then
        with DBGrid1.DataSource.DataSet do
          for i:=0 to DBGrid1.SelectedRows.Count-1 do
          begin
            GotoBook(pointer(DBGrid1.SelectedRows.Items[i]));
      dbgrid2.datasource.dataset.insert;        
    for j := 0 to FieldCount-1 do
            begin
              dbgrid2.datasource.dataset.field[j].value:=dbgrid1.datasource.dataset.field[j].value;
            end;
       dbgrid2.datasource.post;
          end;
    end;
      

  5.   

    mudeen(笑哥哥),luoweicaisd(笑三少) 谢谢您们的回答:
    1、我的AdoQuery1在复制后不能真正将记录删除,只是暂时从DbGrid中移去;
    2、我的AdoQuery2只是一个临时表而已,且记录全部从AdoQuery1中取得。mudeen(笑哥哥),luoweicaisd(笑三少),请问这样还有没有好的解决方法?谢谢!各位,帮忙啊…………
      

  6.   

    只是移去的话建议您在adoquery1所连接的表中加一个标记字段,将需要移去的记录加一个标记就行了.在循环结束之后重新检索记录.
    adoquery1.delete
    改为:
     adoquery1.fieldbyname('biaoji').value:=1;
    循环后重新检索:
      adoquery1.close;
      adoquery1.sql.clear;
      adoquery1.sql.add('select * from table1 where biaoji<>1');
    adoquery1.open;
      

  7.   

    mudeen(笑哥哥),谢谢您多次的帮助。我先试试。
      

  8.   

    mudeen(笑哥哥),谢谢您多次的帮助。能否告知QQ?
    我的是:9844389
      

  9.   

    我不大用QQ
    需要帮忙向我发消息就可以了.或者 [email protected]