我的语句是SQL.Add( 'select openo as 业务编号,opename as 业务名,ywtype.pno as 业务打印规则, 满号循环=case Fflag when 0 then 否 when 1 then 是 end,Cbeno as 打印最小值,Cmax as 打印最大值,nextopeno as 下级业务 from ywtype,ywprint where ywtype.pno=ywprint.pno');
opename as 业务名,
ywtype.pno as 业务打印规则,
(case Fflag
when 0 then
否
when 1 then
是
end) as 满号循环,
Cbeno as 打印最小值,
Cmax as 打印最大值,
nextopeno as 下级业务
from ywtype, ywprint
where ywtype.pno = ywprint.pno;
如果还是提示列名不存在,那么建议楼主认真,仔细检查下是否列名写错了。
【建议】
楼主最好给表都起个别名,不然用户直接表明写在where条件中,不觉得相当地难受么。
规范有木有。追问
根据提示应该是说“case Fflagwhen 0 then 否 when 1 then 是”中的是和否有问题,如果把是放在前面提示“列名‘是’无效”,把否放前面提示“列名‘否’无效”
追答这下可以了
select openo as 业务编号,
opename as 业务名,
ywtype.pno as 业务打印规则,
(case Fflag
when 0 then
'否'
when 1 then
'是'
end) as 满号循环,
Cbeno as 打印最小值,
Cmax as 打印最大值,
nextopeno as 下级业务
from ywtype, ywprint
where ywtype.pno = ywprint.pno;
你试试吧,应该要叫上单引号的,不加单引号就被默认成列变量了。
数据库里面只有能够隐式转换成整形的才可以不加单引号.
1,要不就是你把列明写做啦
2.要不就是数据库字段里面没有你写的列明