可以具体点吗?我又改了一下还是不行。 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;
[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'
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; "%"需要用转义字符',因此多一个单引号
showmessage(','','','%'); 看看就明白转义字符是什么意思了
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;这个应该这么写,你的那些连接没有看太明白
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 红色的那个是要干什么啊?
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; 红色后面缺个‘号
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;
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;
[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'
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;
"%"需要用转义字符',因此多一个单引号
看看就明白转义字符是什么意思了
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;这个应该这么写,你的那些连接没有看太明白
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
红色的那个是要干什么啊?
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;
红色后面缺个‘号