儘管我的JDO查詢包含二declareParameters
陳述的事實,下面代碼產生一個錯誤,聲稱只有一個參數被接受:JDO異常:「查詢需要1個參數,但已提供2個值。」
查詢需要1個參數,但已經提供了2個值。
這兩個參數是amountP
和taxP
:
javax.jdo.Query query= pm.newQuery(Main.class);
query.setFilter("amount == amountP && tax < taxP");
query.declareParameters("int amountP");
query.declareParameters("int taxP");
List<Main> results = (List<Main>)query.execute (amountP, taxP);
然而,有以下變化,它的工作原理。
javax.jdo.Query query= pm.newQuery(Main.class);
query.setFilter("amount == amountP && tax < taxP");
query.declareParameters("int amountP, int taxP");
List<Main> results = (List<Main>)query.execute (amountP, taxP);
我的問題是:有什麼不好的原始語法?
更新:This problem has been reported by others但沒有解釋。
+1由於行爲似乎暗示您的陳述是正確的。也許這個downvoter想解釋他/她爲什麼downvoted? – jmort253 2012-01-24 19:27:58