本帖最后由 duoken 于 2011-05-23 11:00:41 编辑

解决方案 »

  1.   

    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.Sql.ADD('select a.pdctno ''生产型号'',c.custab ''客户名称'',d.po ''客户PO'',a.finState ''审核状态'',');
    ADOQuery1.Sql.ADD('isnull(a.yushoukuan,0) ''收款'',a.bizhong ''币种'', a.shenhekuan ''审核款'',');
    .....//
    ADOQuery1.Open;
      

  2.   

    把你的文字都放到sql外面,拼接成字符串,引号可以用楼上的方式,最好用QuotedStr('abc')来完成
      

  3.   

    可以具体点吗?我又改了一下还是不行。
         ADOQuery1.Close;
         ADOQuery1.SQL.Clear;
         ADOQuery1.Sql.ADD('select a.pdctno ''生产型号'',c.custab ''客户名称'',d.po ''客户PO'',a.finState ''审核状态'',');
         ADOQuery1.Sql.ADD('isnull(a.yushoukuan,0) ''收款'',a.bizhong ''币种'', a.shenhekuan ''审核款'',');
         ADOQuery1.Sql.ADD('a.ReceiveYusk ''已冲货款'',a.orderno ''内部订单号码'',ltrim(rtrim(b.custsty)) ''客户型号'' from finYuskb a join mktxhglb b on a.pdctno = b.pdctno left join mktkhxxb c on a.custno = c.custno join mktorderinfo d on a.orderno=d.orderno );
         ADOQuery1.SQL.ADD('where a.pdctno like '%%' and d.PO like '%HQ04.13000770%');
         ADOQuery1.Open;
      

  4.   

    [Error] Unit1.pas(57): Unterminated string
    [Error] Unit1.pas(58): ')' expected but identifier 'ADOQuery1' found
    [Error] Unit1.pas(58): Illegal character in input file: '%' ($25)
    [Error] Unit1.pas(58): Illegal character in input file: '%' ($25)
    [Error] Unit1.pas(58): Illegal character in input file: '%' ($25)
    [Error] Unit1.pas(59): Missing operator or semicolon
    [Fatal Error] MDIAPP.dpr(14): Could not compile used unit 'Unit1.pas'
      

  5.   

    ADOQuery1.Close;
         ADOQuery1.SQL.Clear;
         ADOQuery1.Sql.ADD('select a.pdctno ''生产型号'',c.custab ''客户名称'',d.po ''客户PO'',a.finState ''审核状态'',');
         ADOQuery1.Sql.ADD('isnull(a.yushoukuan,0) ''收款'',a.bizhong ''币种'', a.shenhekuan ''审核款'',');
         ADOQuery1.Sql.ADD('a.ReceiveYusk ''已冲货款'',a.orderno ''内部订单号码'',ltrim(rtrim(b.custsty)) ''客户型号'' from finYuskb a join mktxhglb b on a.pdctno = b.pdctno left join mktkhxxb c on a.custno = c.custno join mktorderinfo d on a.orderno=d.orderno ');
         ADOQuery1.SQL.ADD('where a.pdctno like ''%%'' and d.PO like ''%HQ04.13000770%''');
         ADOQuery1.Open;
    "%"需要用转义字符',因此多一个单引号
      

  6.   

    showmessage(','','','%');
    看看就明白转义字符是什么意思了
      

  7.   

    ADOQuery1.Close;
      ADOQuery1.SQL.Clear;
      ADOQuery1.Sql.text:='SELECT * FROM vw_fin_orderkxmx';
      ADOQuery1.Open;  ADOQuery1.Close;
      ADOQuery1.SQL.Clear;
      ADOQuery1.Sql.add('SELECT * FROM vw_fin_orderkxmx');
      ADOQuery1.Open;这个应该这么写,你的那些连接没有看太明白
      

  8.   

    select a.pdctno '生产型号',c.custab '客户名称',d.po '客户PO',a.finState '审核状态',
    isnull(a.yushoukuan,0) '收款',a.bizhong '币种', a.shenhekuan '审核款',
    a.ReceiveYusk '已冲货款',a.orderno '内部订单号码',ltrim(rtrim(b.custsty)) '客户型号' from finYuskb a 
    join mktxhglb b on a.pdctno = b.pdctno 
    left join mktkhxxb c on a.custno = c.custno 
    join mktorderinfo d on a.orderno = d.orderno 
    where a.pdctno like '%%' 
    and d.PO like '%HQ04.13000770%'别名 要有as 如
    select a.pdctno as '生产型号',c.custab as '客户名称',d.po as '客户PO',a.finState as'审核状态',
    isnull(a.yushoukuan,0) '收款',a.bizhong '币种', a.shenhekuan '审核款',
    a.ReceiveYusk '已冲货款',a.orderno '内部订单号码',ltrim(rtrim(b.custsty)) '客户型号' from finYuskb a 
    join mktxhglb b on a.pdctno = b.pdctno 
    红色的那个是要干什么啊?
      

  9.   

    ADOQuery1.Close;
         ADOQuery1.SQL.Clear;
         ADOQuery1.Sql.ADD('select a.pdctno ''生产型号'',c.custab ''客户名称'',d.po ''客户PO'',a.finState ''审核状态'',');
         ADOQuery1.Sql.ADD('isnull(a.yushoukuan,0) ''收款'',a.bizhong ''币种'', a.shenhekuan ''审核款'',');
         ADOQuery1.Sql.ADD('a.ReceiveYusk ''已冲货款'',a.orderno ''内部订单号码'',ltrim(rtrim(b.custsty)) ''客户型号'' from finYuskb a join mktxhglb b on a.pdctno = b.pdctno left join mktkhxxb c on a.custno = c.custno join mktorderinfo d on a.orderno=d.orderno );
         ADOQuery1.SQL.ADD('where a.pdctno like '%%' and d.PO like '%HQ04.13000770%' ’ );
         ADOQuery1.Open;
    红色后面缺个‘号