デルフィ:Paradox DB フィールド名の問題 (フィールド名にスペースが含まれている)
質問
単一のクエリを実行する必要があるレガシー システムの Paradox テーブルがあります。フィールド名にはスペースが含まれています。つまり、「ストリート1」。Delphi で「Street 1」フィールドのみに対してクエリを作成しようとすると、「キーワードの無効な使用」というエラーが発生します。トークン:1、行番号:1
Delphi V7 - オブジェクト Pascal、標準 Tquery オブジェクト名 query1。
解決
クエリ内のテーブル名を文字列の前に付ける必要があります。
例えば:フィールド名は「Street 1」、テーブルは「customers」という名前で、選択は次のとおりです。
SELECT customers."Street 1" FROM customers WHERE ...
他のヒント
この場合、通常はフィールド名を引用符で囲む必要があります。例えば:
select * from t1 where "street 1" = 'test';
これを Paradox 7 テーブルで試してみたところ、うまくいきました。それでも解決しない場合は、使用しようとしているクエリを投稿していただけますか?その情報を教えていただけると助かります。
必要なのは、顧客テーブルに保持されている住所詳細からの番地情報だけです。SELECT * FROM Customers を実行すると正常に動作しますが、これは非常に大きなテーブルであり、多数の結果が返されます。顧客から SELECT "Street 1" を実行すると、返されるすべてのレコードの出力は "Street 1" になります。実際のデータは返されません。それは「」の使用と関係があるはずです。
ご協力いただきありがとうございます
ジョー
": の代わりに [ と ] を使用する必要があると思います。
SELECT customers.[Street 1] FROM customers WHERE ...
所属していません StackOverflow