各位大侠帮帮忙!
如何将刚查询出来的结果insert到另一个库的ss.BDF去呢?
如何用sql语句实现,请明示。

解决方案 »

  1.   

    是另一个库,还是另一个表?如果是表的话,可以在查询的同时使用insert
    insert into ss.bdf (select * from table1);好像是这样。
      

  2.   

    是另一个库里的一个表sm.dbf,谢谢
      

  3.   

    while not ADOQUery1.eof do
    begin
      ADOQuery2.close;
      ADOQuery2.sql.clear;
      ADOQuery2.sql.text:='insert sm.dbf values()';
      ADOQuery2.ExceSQL;
    end;
      

  4.   

    while not ADOQUery1.eof do
    begin
      ADOQuery2.close;
      ADOQuery2.sql.clear;
      ADOQuery2.sql.text:='insert sm(field1,field2...) values(adoquery1.field[0].asstring,adoquery1.field[1].asstring...(根据类型来定))';
      ADOQuery2.ExceSQL;
    end;
      

  5.   

    procedure InsertToSm;
       function GetInsertFormat(CurFieldValue:string;CurFieldType:TFieldType):string;
       begin
          if (CurFieldType=ftInteger) then
            Result:=CurFieldValue
          else if (CurFieldType=ftString) then
            Result:=''''+CurFieldValue+''''
          else if (CurFieldType=ftDatetime) then
            Result:='#'''+CurFieldValue+'''#'  //for access
          else
            Result:=CurFieldValue;
       end;
    var
      i:integer;
    begin
      sqlstr:='insert into sm ('
      with query1 do
      begin
        for i:=0 to Fields.count-1 do
          if i=0 then
            sqlstr:=sqlstr+Fields[i].FieldName 
          else
            sqlstr:=sqlstr+','+Fields[i].FieldName
        sqlstr:=sqlstr+') values ('
        for i:=0 to Fields.count-1 do
          if i=0 then
            sqlstr:=sqlstr+GetInsertFormat(Fields[i].asstring;Fields[i].FieldType)
          else
            sqlstr:=sqlstr+','+GetInsertFormat(Fields[i].asstring;Fields[i].FieldType)
        sqlstr:=sqlstr+')'
      end;
      query2.Close;
      query2.SQL.Text:=sqlstr;
      Query2.ExecSQL;
    end;