adoquery1.sql.add('insert into h1(f1,f2,f3) values('+#39+s1+#39+','+#39+l1+#39+','+#39+l2+#39+')');
adoquery1.sql.add('insert into h1(f1,f2,f3) values('+#39+s2+#39+','+#39+l3+#39+','+#39+l4+#39+')');

解决方案 »

  1.   

    adoquery1.sql.add('insert into h1(f1,f2,f3) values('+''''+s1+''''+','+''''+l1+''''+','+''''+l2+''''+)');
      adoquery1.sql.add('insert into h1(f1,f2,f3) values('+''''+s2+''''+','+''''+l3+''''+','+''''+l4+''''+)');
      

  2.   

    同意上述观点,你的sql写的不对!对于串要加‘’‘’引起来
      

  3.   

    非常感谢各位大侠,用上述办法确能实现,可是下面的程序总是实现死循环,再帮忙瞧一瞧什么地方出错了?
    procedure TForm1.Button2Click(Sender: TObject);
    var
    l1,l2,l3,l4,l5,l6,s,s1,s2:string;
    begin  l1:=datamodule2.ADOTable1.FieldByName('task').AsString;
     l2:=datamodule2.ADOTable1.FieldByName('from_city').AsString;
     l3:=datamodule2.ADOTable1.FieldByName('edep1_time').AsString;
     l4:=datamodule2.ADOTable1.FieldByName('media_city').AsString;
     l5:=datamodule2.ADOTable1.FieldByName('edep2_time').AsString;
     l6:=datamodule2.ADOTable1.FieldByName('dest_city').AsString;
     s:=datamodule2.ADOTable1.FieldByName('flight_no').AsString;
       if pos('/',s)<>0 then
       begin
       s1:=copy(s,1,pos('/',s)-1);
       s2:=copy(s,1,2*pos('/',s)-length(s)-1)+copy(s,pos('/',s)+1,length(s)-pos('/',s));
       end
      else
      begin
      s1:=s;
      s2:=s;
      end;
      datamodule2.ADOTable1.First;
      while not datamodule2.ADOTable1.Eof do
        begin
        datamodule2.ADOquery2.SQL.Clear;
        datamodule2.ADOquery2.SQL.Add('insert into move(task,flight_no,from_city,edep1_time,dest_city) values('+''''+l1+''''+','+''''+s1+''''+','+''''+l2+''''+','+''''+l3+''''+','+''''+l4+''''+')');
        datamodule2.ADOquery2.ExecSQL;
        datamodule2.ADOquery2.SQL.Clear;
        datamodule2.ADOquery2.SQL.Add('insert into move(task,flight_no,from_city,edep1_time,dest_city) values('+''''+l1+''''+','+''''+s2+''''+','+''''+l4+''''+','+''''+l5+''''+','+''''+l6+''''+')');
        datamodule2.ADOquery2.ExecSQL;
         end;
      datamodule2.ADOTable1.Next;
     end;