昨天那个问题,语句执行后点dbgrid是提示“列名‘是’无效”,你知道是怎么回事吗?谢谢

我的语句是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');

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;

如果还是提示列名不存在,那么建议楼主认真,仔细检查下是否列名写错了。
【建议】
楼主最好给表都起个别名,不然用户直接表明写在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个回答  2011-08-18
提示“列名‘是’无效”
1,要不就是你把列明写做啦
2.要不就是数据库字段里面没有你写的列明

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网