读书人

关于delphi7 的sql语句 有关问题

发布时间: 2013-08-16 14:29:57 作者: rapoo

关于delphi7 的sql语句 问题
DELPHI 7

Query.SQL.ADD(' SELECT A,B,CASE WHEN A=B THEN A ELSE B END AS O ') ;

执行这样类型的语句 总是提示 Invalid use of keyword. token: when

在网上搜一些资料 说 when 为关键字不允许使用
需要在SQL语句中进行判断 取值 如何实现啊
[解决办法]
没试过Qurey里用when,如果是Oracle可以用decode函数代替。
[解决办法]
你的A, B是什么东东?

如果是查询数据表, 那你少了from [Table]语句, 应修改如下:
Query.SQL.ADD(' SELECT A,B,CASE WHEN A=B THEN A ELSE B END AS O from TableName') ;

[解决办法]
语法你在SQL SERVER里执行,没有错误,DELPHI里就换成ADOQUERY执行SQL语句,不要再用BDE面板里的QUERY了
[解决办法]
怎么没有from关键字?
[解决办法]
你用到的是SQL SERVER的语法,在dbf数据库里用不了。
[解决办法]


//表去哪里了?when是可以用的
Query.SQL.ADD(' SELECT A,B,CASE WHEN A=B THEN A ELSE B END AS O FROM tbName WITH(NOLOCK)') ;

[解决办法]
可能dbf不支持吧,你的sql语句,好像没必要用when吧 直接取B不就可以了吗
[解决办法]
Query.SQL.ADD('SELECT A,B,CASE A WHEN B THEN A ELSE B END AS O FROM TableName ') ;
[解决办法]
楼主你的语法错误了
[解决办法]
很明显语法有问题撒。你要查询肯定是从表查询撒,但是你这儿明显没有。你把from 表,加上,看看那
[解决办法]
语法问题,查dbf的帮助文档吧
[解决办法]
select do case case a=1 o=b otherwise o=c endcase from table1、



多了个case关键字吧?

读书人网 >.NET

热点推荐