A pesar del hecho de que mi consulta JDO contiene DOSdeclareParameters
declaraciones, el código de abajo produce un error reclamando un solo parámetro se acepta:JDO Excepción: "La consulta requiere 1 parámetro, pero se han proporcionado 2 valores".
de consulta requiere 1 parámetros, sin embargo, se han previsto 2 valores.
Los dos parámetros son amountP
y 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);
Sin embargo, con los siguientes cambios, funciona.
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);
Mi pregunta es: ¿Cuál fue mal con la sintaxis original?
Actualización: This problem has been reported by others pero sin explicación.
+1 Como el comportamiento parece implicar que su afirmación es correcta. Tal vez el infractor le gustaría explicar por qué él/ella votó negativamente? – jmort253