急:请各位大虾来帮帮忙,看看是什么错误,发生错误的原因2天了,没搞明白,谢谢各位!!!在线等
str := select jc_ccpck.bill,jc_ccp.mc,jc_ccp.gg,jc_ccpckxx.sl,'+
'case jc_ccp.gg when ''优级'' then jc_ccpckxx.sl else 0 end as my,'+
'case jc_ccp.gg when ''一级'' then jc_ccpckxx.sl else 0 end as m1,'+
'case jc_ccp.gg when ''合格'' then jc_ccpckxx.sl else 0 end as mh,'+
'case jc_ccp.gg when ''次品'' then jc_ccpckxx.sl else 0 end as mc,'+
'case jc_ccpck.lb when ''礼品'' then jc_ccpckxx.sl else 0 end as ml,'+
'jc_ccpck.cksj from jc_产成品出库详细 jc_ccpckxx,jc_产成品出库 jc_ccpck,jc_产成品 jc_ccp where jc_ccpck.bill=jc_ccpckxx.bill and jc_ccpckxx.bh=jc_ccp.bh and jc_ccp.mc = ''绵白糖''';
iniQuery(str,Query1);//让Query执行这条SQL语句
编译没有错误,运行时就会出现一个窗体,
标题为:CPU
第二行为:Thrcad#3056
剩下的,根本看不懂是什么东西,我感觉是16进制的数(但是,不能确定)
如果,将语句改为:
str := select jc_ccpck.bill,jc_ccp.mc,jc_ccp.gg,jc_ccpckxx.sl,'+
'case jc_ccp.gg when ''优级'' then jc_ccpckxx.sl else 0 end as my,'+
'case jc_ccp.gg when ''一级'' then jc_ccpckxx.sl else 0 end as m1,'+
'jc_ccpck.cksj from jc_产成品出库详细 jc_ccpckxx,jc_产成品出库 jc_ccpck,jc_产成品 jc_ccp where jc_ccpck.bill=jc_ccpckxx.bill and jc_ccpckxx.bh=jc_ccp.bh and jc_ccp.mc = ''绵白糖''';
iniQuery(str,Query1);//让Query执行这条SQL语句
运行时一点错误也没有,我不知道问题的原因出在哪里了!
自我感觉问题:
1,语句太长,解决方法,将表别名缩短为一个字符,出现的结果和上述一样;
2,直接将语句写到Query.Sql.Add('')中一行一行添加,出现的结果和上述一样;
3,直接将SQL语句写到,Query控件SQL属性中,出现的结果和上述一样。
请问到底出了什么问题啊,谢谢各位了!