布尔类型的字段为什么在Query中不能使用(50分)

  • 主题发起人 主题发起人 tomye
  • 开始时间 开始时间
T

tomye

Unregistered / Unconfirmed
GUEST, unregistred user!
query1.close;
query1.sql.clear;
query1.sql.add('select * from "sentbox.dbf" ');
query1.sql.add('where read=false');
query1.open;
以上read字段为布尔类型,请教各位为什么Delphi总会报错"Inviald Keyword
Token read=false"?难道Query元件不能检索布尔类型的字段还是我的SQL表达式写错?
 
布尔类型是可以使用的,根据错误提示原因是错误的使用了关键字,
read是不是有问题。把它换了试一是。
 
试试 where read=0
这不应该是DELPHI的问题,因为QUERY只是把
语句传给后台的数据库,执行和结实该语句应
该在数据库一端实现。查查你的数据库吧
 
应该ANSI SQL就支持BOOL了
YES/NO/TRUE/FALSE都可以
 
....
where read = :condition
...
parambyname('condition').asboolean := false;
....
 
anzhiping:read字段没有问题,换了其他不是布尔类型的字段就可以检索了。
silly: where read=0 我早已试过,无用。后台连接的是Foxpro2.5的表。
cj:什么叫ANSI SQL?
 
READ 是保留字,有问题,改用其他字段名就OK了。
 
不,我觉得最好的办法是Another_eYes说的,用参数来实现,这样可以不用
考虑数据的类型。
 
Inviald Keyword Token read=false
好象是因为READ是保留字吧.
 
多人接受答案了。
 
后退
顶部