恐怕有人读这个帖子会得到BDE SQL引擎无法处理查询的印象:
select * from Journal where Journal."Where" = "RainPump"
并会浪费他们的时间不必要的绕开它。
事实上,这种建设工作正常。围绕“Where”的引号使BDE不会将其解释为关键字,就像您期望的那样。
我不知道Baldric的特殊情况或他按什么顺序尝试了什么错误。他将问题描述为查询* .db表,但是他的SQL错误看起来更像是通过直通模式获得的东西。或者,他可能简化了提交的代码,从而消除了错误的真正原因。与执行
我的测试: BDE v.5.2(5.2.0.2) 悖论的Windows 7节(32B) 德尔福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
-Al。
这是悖论? – 2011-11-07 16:48:11