程序写法A:
With ADOQuery1 Do Begin
    close; sql.Clear;
    {sql.Add('Select TF_IX.FX_NO,TF_IX.ITM,TF_IX.TRS_DSC,TF_IX.TRS_DD,' +
      '(Select Name from mf_yg where mf_yg.yg_no = TF_IX.TRS_MAN) as     TRS_MAN,TF_IX.TRS_STS,' +
      '(Select Name from mf_yg where mf_yg.yg_no = TF_IX.USE_MAN_NEW) as USE_MAN_NEW,' +
      '(Select Name from mf_yg where mf_yg.yg_no = TF_IX.USE_MAN_OLD) as USE_MAN_OLD,' +
      'TF_IX.VOH_NO,TF_IX.REM From TF_IX Where Fx_no = ''BC0380002''');  
      open;
end;
程序写法B:
With ADOQuery1 Do Begin
    close; sql.Clear;
    sql.Add('Select TF_IX.FX_NO,TF_IX.ITM,TF_IX.TRS_DSC,TF_IX.TRS_DD,' +
      '(Select Name from mf_yg where mf_yg.yg_no = TF_IX.TRS_MAN) as TRS_MAN,TF_IX.TRS_STS,' +
      '(Select Name from mf_yg where mf_yg.yg_no = TF_IX.USE_MAN_NEW) as USE_MAN_NEW,' +
      '(Select Name from mf_yg where mf_yg.yg_no = TF_IX.USE_MAN_OLD) as USE_MAN_OLD,' +
      'VOH_NO,REM From TF_IX Where Fx_no = :la');
     parameters.ParamByName('la').Value := 'BC0380002';  
     Open;
  End;在‘写法B:’中当程序开始加载SQL.ADD时程序就报错,而‘写法A:’却不会出现这样的问题,请大侠指点。在以前的程序中我一直使用B的写法,却重来没有报错过,今天真的是没办法了。