「FROM」が発生しました。 Webベースのクライアントは金額と通貨を入力します(例: 'USD'と 'EUR')。java.sql.SQLSyntaxErrorException:構文エラー:>私はJavaEEのを使用して、通貨コンバータアプリケーションを構築しています
私はSQLの専門家、私は実行して、Webページをテストするとき、私は次のエラーが表示されていないよ。私は、これらの値を取得し、エンティティ・マネージャ方法createQuery
を使用して通貨を見つけよう
java.sql.SQLSyntaxErrorException: Syntax error: >Encountered "FROM" at line 1, column 12. Error Code: 30000 Call: SELECT >ID, FROM, RATE, TO, VALUE FROM RATE WHERE ((FROM = ?) AND (TO = ?)) bind >=> [2 parameters bound] Query: ReadAllQuery(referenceClass=Rate >sql="SELECT ID, FROM, RATE, TO, VALUE FROM RATE WHERE ((FROM = ?) AND (TO >= ?))")
コンバージョン率:
public double convertTo(double value, String from, String to) {
TypedQuery<Rate> query = em.createQuery(""
+ "SELECT c FROM Rate c WHERE c.from = :from AND c.to = :to", Rate.class);
query.setParameter("to", to);
query.setParameter("from", from);
Rate result = query.getSingleResult();
if (result == null) {
throw new EntityNotFoundException("Can't find rate");
}
return value * result.getValue();
}
私はクエリを変更しようとしていますが、どちらも機能していません。助言がありますか?
はい、感謝@Peter_Salyというキーワードでした。問題は今、 'query.getSingleResult();'は、私のデータベースのfromとto currencyに一致する行を見つけられません。それは私に例外を与える:「は、getSingleResult()は任意のエンティティを取得できませんでした。」 ID、fromcurrency、tocurrency、率:私のテーブルには、4 COLを持っています。私は今、この問題を確認しようとします。 :( – teowey
私は、通貨を参照するために金利を使用することをお勧めしません。参考通貨はユーロである可能性があります。referrence通貨を使用すると、すべての組み合わせを維持する必要がいけない。すべての料金をロードします。計算は、先の通貨に、その後ユーロになります。いいえ精度の損失を。 –