恐怕阅读此线程的人会产生 BDE SQL 引擎无法处理查询的印象:
select * from Journal where Journal."Where" = "RainPump"
并且会浪费他们的时间不必要地绕着它绕圈子。
事实上,这种结构工作得很好。正如您所期望的那样,“Where”周围的引号使 BDE 不会将其解释为关键字。
我不知道 Baldric 的特殊情况出了什么问题,或者他以什么顺序尝试了什么。他将问题描述为查询 *.db 表,但他的 SQL 错误看起来更像是您在直通模式下遇到的问题。或者,可能他简化了提交代码,从而消除了错误的真正原因。
我的测试使用:BDE v.5.2 (5.2.0.2) Paradox for Windows v. 7 (32b) Delphi 5.0 (5.62)
成功的声明的各种版本:
select * from Journal D0 where D0."Where" = "RainPump"
select * from Journal where Journal."Where" = "RainPump"
select * from ":common:Journal" D0 where D0."Where" = "RainPump"
select * from ":common:Journal" where ":common:Journal"."Where" = "RainPump"
select * from :common:Journal where Journal."Where" = "RainPump"
select * from ":common:Journal" D0 where D0."GUMPIK" = 3
select * from ":common:Journal" where ":common:Journal"."GUMPIK" = 3
select * from :common:Journal where Journal."GUMPIK" = 3
看起来正确但因“无效使用关键字”而失败的语句版本:
select * from ":common:Journal" where :common:Journal."Where" = "RainPump"
select * from :common:Journal where :common:Journal."Where" = "RainPump"
select * from ":common:Journal" where :common:Journal."GUMPIK" = 3
select * from :common:Journal where :common:Journal."GUMPIK" = 3
-阿尔。