Form1.ADOQuery6.SQL.Add('update [emlinfo] set GDATE=:GDATE,CHANNEL=:CHANNEL,EML_ID=:EML_ID,PROTOCOL=:PROTOCOL,Send_IP=:Send_IP,Send_IPADDR=:Send_IPADDR,POST_IP=:POST_IP,POST_IPADDR=:POST_IPADDR,SERVER_IP=:SERVER_IP,CLIENT_PORT=:CLIENT_PORT,SERVER_PORT=:SERVER_PORT,CLIENT_MAC=:CLIENT_MAC,SERVER_MAC=:SERVER_MAC,TMFROM=:TMFROM,SENDER=:SENDER,SENDER_INFO=:SENDER_INFO,MTO=:MTO,POSTER=:POSTER,POSTER_INFO=:POSTER_INFO,USERNAME=:USERNAME,PASSWORD=:PASSWORD,SEND_TIME=:SEND_TIME,CHARSET=:CHARSET,FILENAME=:FILENAME,EMLATTR=:EMLATTR,EMLSource=:EMLSource,MEMO=:MEMO,FROMNAME=:FROMNAME,MFROM=:MFROM where EML_ID=:EML_ID');
    Form1.ADOQuery6.Parameters.ParamByName('GDATE').Value:= Tlist.Strings[0];
    Form1.ADOQuery6.Parameters.ParamByName('CHANNEL').Value:= Tlist.Strings[1];
    Form1.ADOQuery6.Parameters.ParamByName('EML_ID').Value:=Tlist.Strings[2];
    Form1.ADOQuery6.Parameters.ParamByName('PROTOCOL').Value:= Tlist.Strings[3];
    Form1.ADOQuery6.Parameters.ParamByName('Send_IP').Value:= Tlist.Strings[4];
    Form1.ADOQuery6.Parameters.ParamByName('Send_IPADDR').Value:= Tlist.Strings[5];
    Form1.ADOQuery6.Parameters.ParamByName('POST_IP').Value:= Tlist.Strings[6];
    Form1.ADOQuery6.Parameters.ParamByName('POST_IPADDR').Value:= Tlist.Strings[7];
    Form1.ADOQuery6.Parameters.ParamByName('SERVER_IP').Value:= Tlist.Strings[8];
    Form1.ADOQuery6.Parameters.ParamByName('CLIENT_PORT').Value:= Tlist.Strings[9];
    Form1.ADOQuery6.Parameters.ParamByName('SERVER_PORT').Value:= Tlist.Strings[10];
    Form1.ADOQuery6.Parameters.ParamByName('CLIENT_MAC').Value:= Tlist.Strings[11];
    Form1.ADOQuery6.Parameters.ParamByName('SERVER_MAC').Value:= Tlist.Strings[12];
    Form1.ADOQuery6.Parameters.ParamByName('TMFROM').Value:= Tlist.Strings[13];
    Form1.ADOQuery6.Parameters.ParamByName('SENDER').Value:= Tlist.Strings[14];
    Form1.ADOQuery6.Parameters.ParamByName('SENDER_INFO').Value:= Tlist.Strings[15];
    Form1.ADOQuery6.Parameters.ParamByName('MTO').Value:= Tlist.Strings[16];
    Form1.ADOQuery6.Parameters.ParamByName('POSTER').Value:= Tlist.Strings[17];
    Form1.ADOQuery6.Parameters.ParamByName('POSTER_INFO').Value:= Tlist.Strings[18];
    Form1.ADOQuery6.Parameters.ParamByName('USERNAME').Value:= Tlist.Strings[19];
    Form1.ADOQuery6.Parameters.ParamByName('PASSWORD').Value:= Tlist.Strings[20];
    Form1.ADOQuery6.Parameters.ParamByName('SUBJECT').Value:= Tlist.Strings[21];
    Form1.ADOQuery6.Parameters.ParamByName('SEND_TIME').Value:= Tlist.Strings[22];
    Form1.ADOQuery6.Parameters.ParamByName('CHARSET').Value:= Tlist.Strings[23];
    Form1.ADOQuery6.Parameters.ParamByName('FILENAME').Value:= Tlist.Strings[24];
    Form1.ADOQuery6.Parameters.ParamByName('EMLATTR').Value:= Tlist.Strings[25];
    Form1.ADOQuery6.Parameters.ParamByName('EMLSource').Value:= Tlist.Strings[26];
    Form1.ADOQuery6.Parameters.ParamByName('MEMO').Value:= Tlist.Strings[27];
    Form1.ADOQuery6.Parameters.ParamByName('FROMNAME').Value:= Tlist.Strings[28];
    Form1.ADOQuery6.Parameters.ParamByName('MFROM').Value:= Tlist.Strings[29];
提示:String literals may have at most 255 elements
请问怎么把他简短分行写,请指点.

解决方案 »

  1. with Form1.ADOQuery6.Parameters do
    begin
      ParamByName('GDATE').Value:= Tlist.Strings[0]; 
      ...
    end;
    只能这样了
      

  2. var
      str: string;
    begin
      str := 'update [emlinfo] set GDATE=:GDATE,CHANNEL=:CHANNEL,EML_ID=:EML_ID,PROTOCOL=:PROTOCOL,Send_IP=:Send_IP,' + 
        'Send_IPADDR=:Send_IPADDR,POST_IP=:POST_IP,POST_IPADDR=:POST_IPADDR,SERVER_IP=:SERVER_IP,CLIENT_PORT=:CLIENT_PORT,' +
        'SERVER_PORT=:SERVER_PORT,CLIENT_MAC=:CLIENT_MAC,SERVER_MAC=:SERVER_MAC,TMFROM=:TMFROM,SENDER=:SENDER,' +
        'SENDER_INFO=:SENDER_INFO,MTO=:MTO,POSTER=:POSTER,POSTER_INFO=:POSTER_INFO,USERNAME=:USERNAME,PASSWORD=:PASSWORD,' +
        'SEND_TIME=:SEND_TIME,CHARSET=:CHARSET,FILENAME=:FILENAME,EMLATTR=:EMLATTR,EMLSource=:EMLSource,MEMO=:MEMO,' +
        'FROMNAME=:FROMNAME,MFROM=:MFROM where EML_ID=:EML_ID';
      Form1.ADOQuery6.SQL.Add(str);
      Form1.ADOQuery6.Parameters.ParamByName('GDATE').Value:= Tlist.Strings[0];
      ...
    end;单个字符串的长度不能超过255,但可以拆分成N个再组合起来。
      

  3. adoquery1.sql.text := ' update table set a=:a '+
                          ' ddddddddddddddddddddd'+
                          ...........这样写
      

类似问题 »