Delphi6pro + Paradoxで作成中のデータベースアプリケーションで、
キーワードの使用が無効です。
キーワード : no
というエラーが出ます。
SQL文は 「Select * From tb Where no = 1」です。
そもそもキーワードとは何かわからず、またエラーの原因がさっぱり
わかりません。同じような経験をされた方がいましたら対処方法を
教えていただきたいです。よろしくお願いします。
キーワードとは、
DelphiやSQLなど、構文を読み取って実行に移す類の
ものには、あらかじめ、予約語(キーワード)が
登録されてます。
このキーワードと同じであればエラーとなるわけですが、
SQLである場合、テーブルの列として定義されてない場合も
キーワードエラーとして表示されることがあります。
また、使用するDBによっては、列名の大小比較も行いますので
列名を再度チェックされては、いかがでしょうか
ふじっこさん、回答どうもありがとうございます。
確認したところ、列名に誤りはないと思います。
SQL文がおかしいような気はするのですが、「'」をつけたりスペースを
なくしたりいろいろやってみたけど駄目でした。
うーん、何がおかしいんだろう・・
キーワードは太字で表示されます
例えば、変数名に「begin」という名前をつければ、宣言部分でコンパイラが「ここから実行」と勘違いします。そのため、予約語は使用できなくなってあります
Select * From tb Where tb."no" = 1
とか
Select * From tb x Where x."no" = 1
とかかも(;;)
ローカルSQLのヘルプによると、"NO"は予約語となっています。
たぶん、小文字の"no"もダメなんでしょう。
できました!
Select * From tb Where tb."no" = 1
これでno=1のレコードだけを抽出できました。
ひとまずはOKです。どうもありがとうございました。
ただ、いつもは「tb."no" = 」なんてやらなくても抽出できてたんだけど・・
>masayanさん
いまヘルプを確認したら予約語になってました。
だから「tb."no" = 」としなければならないんだと思いました。
ちょっとわかった気分。。
ツイート | ![]() |