2017-02-19 8 views
0

Derbyを利用して車両データベースを管理するJavaプログラムを作成しています。各車両の一意の識別子は17文字のVINです。 WHERE句の先頭桁をスキップするデータベースクエリ

SELECT make FROM VehicleData where vin = 1HSRDG2RXJH584627 

が、私はこのエラーを取得する:この特定のクエリのために、私の望ましい結果は、「フォード」は、例えば、メイクを取得することです

----- SQLException ----- 
    SQL State: 42X01 
    Error Code: 30000 
    Message: Syntax error: Encountered "HSRDG2RXJH584627" at line 1, column 43. 

に思えることで主導「1」 WHERE句のVINは無視されています。どうしてこれなの?

答えて

0

私はVINを引用符で囲む必要がありました。 Javaでは、引用符をエスケープする必要があります。

"SELECT make FROM VehicleData where vin = \"1HSRDG2RXJH584627\"" 
+1

SQL文字列内にシングルクォートを使用する場合は、引用符をエスケープする必要はありません。それはとにかく標準的なSQLです。 '' SELECTからFROM VehicleDataを選んでください。vin = '1HSRDG2RXJH584627' "' –