if adoquery2.Active then adoquery2.Close;
 adoquery2.SQL.Clear;
adoquery2.SQL.Text:='insert into accession (kehunum,xianwei,kehu,company,carman,drivername,hgnum,cncarnum,dunwei,kunbangkouan,hkcarnum,ie,tyqdh,hwzzl,hujs,qdh,price,tel,flag,fax,inputid,cyd,mdd,danjufeishu,jzxnum1) values('''+'2099'+''','''+ADOQuery1.fieldbyname('xianwei').asstring+''','''+'短信报单'+''','''+ADOQuery1.fieldbyname('company').asstring+''','''+ADOQuery1.fieldbyname('carman').asstring+''','''+ADOQuery1.fieldbyname('drivername').asstring+''','''+ADOQuery1.fieldbyname('hgnum').asstring+''','''+ADOQuery1.fieldbyname('cncarnum').asstring+''','''+ADOQuery1.fieldbyname('dunwei').asstring+''','''+kouan+''','''+upmsg[0]+''','''+ie+''','''+upmsg[2]+''','''+upmsg[5]+''','''+upmsg[4]+''','''+upmsg[1]+''',convert(float,'''+trim(temp4.Text)+''',0),'''+ADOQuery1.fieldbyname('tel').asstring+''','''+ADOQuery1.fieldbyname('flag').asstring+''','''+ADOQuery1.fieldbyname('fax').asstring+''','''+'短信报单'+''','''+kouan+''','''+mudidi+''',convert(int,'''+trim(temp3.Text)+''',0))';
adoquery2.ExecSQL;   我用的是delphi7.0“adoquery2.SQL.Text”中的SQL太长了怎么样办?

解决方案 »

  1.   

    可以用sql.add(''),也可以定义一个StringList;
      

  2.   

    二楼或:
    adoquery2.SQL.Clear;
    adoquery2.SQL.Text:='insert into '+
      'accession (kehunum,xianwei,kehu,company,carman,'+
      'drivername,hgnum,cncarnum,dunwei,kunbangkouan,hkcarnum'+
    ...
    ...
    ...
      ''''+kouan+''','''+mudidi+''',convert(int,'''+trim(temp3.Text)+''',0))';
    adoquery2.ExecSQL;  
      

  3.   

    可以写成存储过程、函数或 Sql.Add()都可以