gpt4 book ai didi

java - JDO 异常 : "Query requires 1 parameters, yet 2 values have been provided."

转载 作者:搜寻专家 更新时间:2023-10-31 19:36:00 25 4
gpt4 key购买 nike

尽管我的 JDO 查询包含两个 declareParameters 语句,下面的代码产生一个错误,声称只接受一个参数:

查询需要 1 个参数,但已提供 2 个值。

两个参数分别是amountPtaxP:

 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但没有解释。

最佳答案

JDO API似乎要求一次设置所有参数。该方法称为 declareParameters,它似乎是一个“setter”,而不是“adder”。方法名称可能会产生误导,文档也不是很好,但它似乎就是这样。

这与同时支持 setter 和 adder 的“扩展”不同:addExtension()setExtensions()

关于java - JDO 异常 : "Query requires 1 parameters, yet 2 values have been provided.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3742221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com