K:='SELECT TOP 1 WO FROM V_PRQT WHERE PRQNO='''+Smasterjos+'''' ; sSQL:='SELECT SORNO,CODE,BDESC,'+
'(SELECT TOP 1 QTY FROM JOBT WHERE JOBT.JOBNO=HC_SOT.SORNO)PQTY,'+
'(SELECT TOP 1 PP FROM JOBUDF WHERE JOBUDF.JOBNO=HC_SOT.SORNO)PPP,'+
'(SELECT TOP 1 CKGJ FROM JOBUDF WHERE JOBUDF.JOBNO=HC_SOT.SORNO)PCKGJ '+
' FROM HC_SOT WHERE SORNO='''+K+''''; sSQL:=sSQL+' and CODE LIKE ''%KJ-%'''; ADODataSet2.CommandText:=sSQL; ADODataSet2.Active:=true;//运行到这里报错。 wwDBGrid2.Columns[0].DisplayLabel:='工单编号';
wwDBGrid2.Columns[1].DisplayLabel:='';
wwDBGrid2.Columns[2].DisplayLabel:='产品名称';
wwDBGrid2.Columns[3].DisplayLabel:='总数量';
wwDBGrid2.Columns[4].DisplayLabel:='品牌';
wwDBGrid2.Columns[5].DisplayLabel:='出口国家'; wwDBGrid2.Columns[0].DisplayWidth:=8;
wwDBGrid2.Columns[1].DisplayWidth:=20;
wwDBGrid2.Columns[2].DisplayWidth:=40;
wwDBGrid2.Columns[3].DisplayWidth:=10;
wwDBGrid2.Columns[4].DisplayWidth:=10;
wwDBGrid2.Columns[5].DisplayWidth:=10;错误信息:Incorrtct syntax near ‘’
'(SELECT TOP 1 QTY FROM JOBT WHERE JOBT.JOBNO=HC_SOT.SORNO)PQTY,'+
'(SELECT TOP 1 PP FROM JOBUDF WHERE JOBUDF.JOBNO=HC_SOT.SORNO)PPP,'+
'(SELECT TOP 1 CKGJ FROM JOBUDF WHERE JOBUDF.JOBNO=HC_SOT.SORNO)PCKGJ '+
' FROM HC_SOT WHERE SORNO='''+K+''''; sSQL:=sSQL+' and CODE LIKE ''%KJ-%'''; ADODataSet2.CommandText:=sSQL; ADODataSet2.Active:=true;//运行到这里报错。 wwDBGrid2.Columns[0].DisplayLabel:='工单编号';
wwDBGrid2.Columns[1].DisplayLabel:='';
wwDBGrid2.Columns[2].DisplayLabel:='产品名称';
wwDBGrid2.Columns[3].DisplayLabel:='总数量';
wwDBGrid2.Columns[4].DisplayLabel:='品牌';
wwDBGrid2.Columns[5].DisplayLabel:='出口国家'; wwDBGrid2.Columns[0].DisplayWidth:=8;
wwDBGrid2.Columns[1].DisplayWidth:=20;
wwDBGrid2.Columns[2].DisplayWidth:=40;
wwDBGrid2.Columns[3].DisplayWidth:=10;
wwDBGrid2.Columns[4].DisplayWidth:=10;
wwDBGrid2.Columns[5].DisplayWidth:=10;错误信息:Incorrtct syntax near ‘’
解决方案 »
- DLL问题
- ◆◆关于 Active Form 的问题??
- 能否在报表中生成表格并打印?
- 我把数据导入Excel时,发现部分数据被更改!
- 哪位大虾帮小弟转换一段代码
- 如何想windows那样打开一个文件?
- sql server上字段里能不能存储大文件(2M左右的)?
- 公司的开发观
- 在DELPHI中用ADO控件连接SQL Server 怎样用参数的随机传递用户名、密码、和数据库服务器名,谢谢
- procedure TForm1.FormCreate(Sender: TObject);sender:Tobject指的是什么?...
- 200分。监视剪贴板内容,报connot open clipboard的机率高,求真解。
- delphi断点调试问题
SELECT SORNO, CODE, BDESC,
(SELECT TOP 1 QTY FROM JOBT WHERE JOBT.JOBNO=HC_SOT.SORNO) PQTY,
(SELECT TOP 1 PP FROM JOBUDF WHERE JOBUDF.JOBNO=HC_SOT.SORNO) PPP,
(SELECT TOP 1 CKGJ FROM JOBUDF WHERE JOBUDF.JOBNO=HC_SOT.SORNO) PCKGJ
FROM HC_SOT WHERE SORNO='SELECT TOP 1 WO FROM V_PRQT WHERE PRQNO='{$Smasterjos}''
AND CODE LIKE '%KJ-%'注意WHERE SORNO='SELECT TOP 1 WO FROM V_PRQT WHERE PRQNO='{$Smasterjos}'',这个地方任何一个数据库都没有不出错的!
'(SELECT TOP 1 QTY FROM JOBT WHERE JOBT.JOBNO=HC_SOT.SORNO)PQTY,'+
'(SELECT TOP 1 PP FROM JOBUDF WHERE JOBUDF.JOBNO=HC_SOT.SORNO)PPP,'+
'(SELECT TOP 1 CKGJ FROM JOBUDF WHERE JOBUDF.JOBNO=HC_SOT.SORNO)PCKGJ '+
' FROM HC_SOT WHERE SORNO='+K;
我在数据库里面查了。。结果是对的
但是现在没结果
'(SELECT TOP 1 QTY FROM JOBT WHERE JOBT.JOBNO=HC_SOT.SORNO)PQTY,'+
'(SELECT TOP 1 PP FROM JOBUDF WHERE JOBUDF.JOBNO=HC_SOT.SORNO)PPP,'+
'(SELECT TOP 1 CKGJ FROM JOBUDF WHERE JOBUDF.JOBNO=HC_SOT.SORNO)PCKGJ '+
' FROM HC_SOT WHERE SORNO=''+K+'''; sSQL:=sSQL+' and CODE LIKE''%KJ-%'''; ADODataSet2.CommandText:=sSQL; ADODataSet2.Active:=true;我改成这样了。不报错。但是没结果
var
K:String;
sSQL: String;
Smasterjos : String;
begin
if(trim(Edit2.Text)<>'')or(trim(Edit2.Text)<>'')then
begin
Smasterjos:=TRIM(Edit2.Text);
ADODataSet1.Active:=false;
ADODataSet2.Active:=false;
if Smasterjos<>''then begin
ADODataSet1.CommandText:='SELECT ITEMNO,CODE,CBDESC,QTY,SH,(QTY*(ISNULL(SH,0)))SHS,UNIT,(QTY+(QTY*(ISNULL(SH,0))))DDQS,(QTY)WLXQ,TDATE,VEN ,WO FROM V_PRQT WHERE PRQNO='''+Smasterjos+'''';
ADODataSet1.Active:=TRUE;
ADODataSet1.FieldByName('WO').Visible := FALSE; wwDBGrid1.Columns[0].DisplayLabel:='序号';
wwDBGrid1.Columns[1].DisplayLabel:='物料编号';
wwDBGrid1.Columns[2].DisplayLabel:='物料名称';
wwDBGrid1.Columns[3].DisplayLabel:='请购数量';
wwDBGrid1.Columns[4].DisplayLabel:='损耗';
wwDBGrid1.Columns[5].DisplayLabel:='损耗数';
wwDBGrid1.Columns[6].DisplayLabel:='单位';
wwDBGrid1.Columns[7].DisplayLabel:='订单欠数';
wwDBGrid1.Columns[8].DisplayLabel:='物料需求';
wwDBGrid1.Columns[9].DisplayLabel:='交货日期';
wwDBGrid1.Columns[10].DisplayLabel:='供应商'; wwDBGrid1.Columns[0].DisplayWidth:=5;
wwDBGrid1.Columns[1].DisplayWidth:=12;
wwDBGrid1.Columns[2].DisplayWidth:=40;
wwDBGrid1.Columns[3].DisplayWidth:=8;
wwDBGrid1.Columns[4].DisplayWidth:=8;
wwDBGrid1.Columns[5].DisplayWidth:=8;
wwDBGrid1.Columns[6].DisplayWidth:=8;
wwDBGrid1.Columns[7].DisplayWidth:=8;
wwDBGrid1.Columns[8].DisplayWidth:=8;
wwDBGrid1.Columns[9].DisplayWidth:=12;
wwDBGrid1.Columns[10].DisplayWidth:=5;
end; K:='SELECT TOP 1 WO FROM V_PRQT WHERE PRQNO='''+Smasterjos+''''; sSQL:='SELECT SORNO,CODE,BDESC,'+
'(SELECT TOP 1 QTY FROM JOBT WHERE JOBT.JOBNO=HC_SOT.SORNO)PQTY,'+
'(SELECT TOP 1 PP FROM JOBUDF WHERE JOBUDF.JOBNO=HC_SOT.SORNO)PPP,'+
'(SELECT TOP 1 CKGJ FROM JOBUDF WHERE JOBUDF.JOBNO=HC_SOT.SORNO)PCKGJ '+
' FROM HC_SOT WHERE SORNO=''+K+'''; sSQL:=sSQL+' and CODE LIKE''%KJ-%'''; ADODataSet2.CommandText:=sSQL; ADODataSet2.Active:=true; wwDBGrid2.Columns[0].DisplayLabel:='工单编号';
wwDBGrid2.Columns[1].DisplayLabel:='';
wwDBGrid2.Columns[2].DisplayLabel:='产品名称';
wwDBGrid2.Columns[3].DisplayLabel:='总数量';
wwDBGrid2.Columns[4].DisplayLabel:='品牌';
wwDBGrid2.Columns[5].DisplayLabel:='出口国家'; wwDBGrid2.Columns[0].DisplayWidth:=8;
wwDBGrid2.Columns[1].DisplayWidth:=20;
wwDBGrid2.Columns[2].DisplayWidth:=40;
wwDBGrid2.Columns[3].DisplayWidth:=10;
wwDBGrid2.Columns[4].DisplayWidth:=10;
wwDBGrid2.Columns[5].DisplayWidth:=10;
end; end;
(SELECT TOP 1 QTY FROM JOBT WHERE JOBT.JOBNO=HC_SOT.SORNO) PQTY,
(SELECT TOP 1 PP FROM JOBUDF WHERE JOBUDF.JOBNO=HC_SOT.SORNO) PPP,
(SELECT TOP 1 CKGJ FROM JOBUDF WHERE JOBUDF.JOBNO=HC_SOT.SORNO) PCKGJ
FROM HC_SOT WHERE SORNO='SELECT TOP 1 WO FROM V_PRQT WHERE PRQNO='ABCDE''
AND CODE LIKE '%KJ-%'注意WHERE部分的引号规则,很奇怪,MySQL竟然能够检索出结果来!
那么我这样写 K:='SELECT TOP 1 WO FROM V_PRQT WHERE PRQNO='''+Smasterjos+''''; sSQL:='SELECT SORNO,CODE,BDESC,'+
'(SELECT TOP 1 QTY FROM JOBT WHERE JOBT.JOBNO=HC_SOT.SORNO)PQTY,'+
'(SELECT TOP 1 PP FROM JOBUDF WHERE JOBUDF.JOBNO=HC_SOT.SORNO)PPP,'+
'(SELECT TOP 1 CKGJ FROM JOBUDF WHERE JOBUDF.JOBNO=HC_SOT.SORNO)PCKGJ '+
' FROM HC_SOT WHERE SORNO=''+K+'''; sSQL:=sSQL+' and CODE LIKE''%KJ-%''';
没错啊
sSQL:='SELECT SORNO,CODE,BDESC,'+
'(SELECT TOP 1 QTY FROM JOBT WHERE JOBT.JOBNO=HC_SOT.SORNO)PQTY,'+
'(SELECT TOP 1 PP FROM JOBUDF WHERE JOBUDF.JOBNO=HC_SOT.SORNO)PPP,'+
'(SELECT TOP 1 CKGJ FROM JOBUDF WHERE JOBUDF.JOBNO=HC_SOT.SORNO)PCKGJ '+
' FROM HC_SOT WHERE SORNO=(SELECT TOP 1 WO FROM V_PRQT WHERE PRQNO='''+Smasterjos+''')';