「キーワードの使用が無効です」というエラーの対処方法

解決


ムキー  2004-02-27 19:32:58  No: 7392

Delphi6pro + Paradoxで作成中のデータベースアプリケーションで、

キーワードの使用が無効です。
キーワード : no

というエラーが出ます。

SQL文は  「Select * From tb Where no = 1」です。
そもそもキーワードとは何かわからず、またエラーの原因がさっぱり
わかりません。同じような経験をされた方がいましたら対処方法を
教えていただきたいです。よろしくお願いします。


ふじっこ  2004-02-27 23:01:41  No: 7393

キーワードとは、
DelphiやSQLなど、構文を読み取って実行に移す類の
ものには、あらかじめ、予約語(キーワード)が
登録されてます。
このキーワードと同じであればエラーとなるわけですが、

SQLである場合、テーブルの列として定義されてない場合も
キーワードエラーとして表示されることがあります。
また、使用するDBによっては、列名の大小比較も行いますので
列名を再度チェックされては、いかがでしょうか


ムキー  2004-02-28 00:33:00  No: 7394

ふじっこさん、回答どうもありがとうございます。
確認したところ、列名に誤りはないと思います。
SQL文がおかしいような気はするのですが、「'」をつけたりスペースを
なくしたりいろいろやってみたけど駄目でした。
うーん、何がおかしいんだろう・・


るるとん@K  2004-02-28 00:33:38  No: 7395

キーワードは太字で表示されます
例えば、変数名に「begin」という名前をつければ、宣言部分でコンパイラが「ここから実行」と勘違いします。そのため、予約語は使用できなくなってあります


通りすがり  2004-02-28 01:29:10  No: 7396

Select * From tb Where tb."no" = 1
とか
Select * From tb x Where x."no" = 1
とかかも(;;)


masayan  2004-02-28 01:38:12  No: 7397

ローカルSQLのヘルプによると、"NO"は予約語となっています。
たぶん、小文字の"no"もダメなんでしょう。


ムキー  2004-02-28 01:44:53  No: 7398

できました!
Select * From tb Where tb."no" = 1

これでno=1のレコードだけを抽出できました。
ひとまずはOKです。どうもありがとうございました。
ただ、いつもは「tb."no" = 」なんてやらなくても抽出できてたんだけど・・


ムキー  2004-02-28 01:50:52  No: 7399

>masayanさん

いまヘルプを確認したら予約語になってました。
だから「tb."no" = 」としなければならないんだと思いました。
ちょっとわかった気分。。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加