ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  strSelect:='SELECT sms_user_order.order_mobile,    sms_service.service_name,sms_service.s_code_id'
  +' FROM sms_user_order, sms_service'
  +' WHERE (sms_user_order.service_id = sms_service.service_id) and (sms_user_order.order_mobile = 4)';
  ADOQuery1.SQL.Add(strSelect);
  ADOQuery1.Open;
接下来想将sms_user_order.order_mobile列的每一个用户号码一一输出,并一一对应插入到另一个表中,应该怎么做呢?向各位大虾求教了!

解决方案 »

  1.   

    用下面的语句,就把内容输出了,至于再写入另外一个表,从memo中取数,导入,就完了
    begin
      with ADOQuery1 do
      begin
        while not Eof do
        begin       Memo1.Lines.Add(FieldByName('sms_user_order.order_mobile').AsString);
           Next;
        end;  end;
    end;不过,如果你所需要完成的功能仅仅是将一个表中的数据导入另外一个表,中间的输出过程可以省略的话 ,那么可以用一条sql语句来完成,格式如下
    insert into tab1(field1)
    select field1 from tab2
    where *****按照上面的格式,根据你的查询条件改一改,然后直接用一个query,一次就完成了。
      

  2.   

    谢谢楼上的,不过我刚才还忘了点事情,是将sms_user_order.order_mobile,    sms_service.service_name,sms_service.s_code_id这三个列中的每一行数据对应插入到另一个表中
      

  3.   

    谢谢楼上的,不过我刚才还忘了点事情,是将sms_user_order.order_mobile,    sms_service.service_name,sms_service.s_code_id这三个列中的每一行数据对应插入到另一个表中
    一样的方法,如果用我下面说方法,那就是
    insert into tab1(field1,field2,field3)
    select field1,field2,field3 from tab2
    where *****