Боюсь, что у кого-то, читающего эту ветку, будет впечатление, что механизм BDE SQL не может обработать запрос:
select * from Journal where Journal."Where" = "RainPump"
и будет тратить свое время на ненужные обходы вокруг него.
На самом деле эта конструкция работает нормально. Кавычки вокруг «Где» не позволяют BDE интерпретировать его как ключевое слово, как и следовало ожидать.
Я не знаю, что не так в конкретной ситуации Бальдрика или что он пытался в каком порядке. Он описывает проблему как запрос к таблице * .db, но его ошибка SQL больше похожа на то, что вы получите в режиме сквозного просмотра. Или, возможно, он упростил свой код для отправки, тем самым устраняя истинную причину ошибки.
Мои тесты выполнены с:
BDE v.5.2 (5.2.0.2)
Парадокс для 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
-Аль.