gpt4 book ai didi

java - 准备好的查询的奇怪错误不是 SELECT_LONG 类型

转载 作者:行者123 更新时间:2023-11-29 21:13:05 26 4
gpt4 key购买 nike

我想问问这个怎么查询。我想检查编辑文本中的名称,如果名称存在,作为记录的一部分,在数据库中我想用这个对象的数据填充所有编辑文本。我也有非常奇怪的错误。请帮助或给我一个如何开始的建议。我是初学者。感谢所有的答案和线索。

这是我的代码:

if(et_nazwa!=null){


long value = 0;
try {
PreparedQuery<Klient> query = klientDao.queryBuilder()
.where().eq("Kli_nazwa",et_nazwa.getText().toString()).prepare();
value = klientDao.countOf(query);
} catch (java.sql.SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

try {
if(value!=0){

PreparedQuery<Klient> q_adres = klientDao.queryBuilder().selectColumns("Kli_adres").where().eq("Kli_nazwa",et_nazwa.getText().toString()).prepare();
PreparedQuery<Klient> q_nip = klientDao.queryBuilder().selectColumns("Kli_nip").where().eq("Kli_nazwa",et_nazwa.getText().toString()).prepare();

et_adres.setText(q_adres.toString());
et_nip.setText(q_nip.toString());
}
} catch (java.sql.SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

我遇到了这样一个奇怪的错误:

java.lang.IllegalArgumentException: Prepared query is not of type SELECT_LONG, did you call QueryBuilder.setCountOf(true)?

最佳答案

java.lang.IllegalArgumentException: Prepared query is not of type SELECT_LONG, did you call QueryBuilder.setCountOf(true)?

所以异常试图告诉你出了什么问题。当您构建一个查询时,ORMLite 不知道该查询将用于什么。因为您可以选择各种列等或使用聚合函数(如 MAX(...)),所以它会记录一个内部查询类型,然后在执行查询时检查它。

如果你想使用 Dao.countOf(...) 那么你需要在你的 QueryBuilder 对象上添加 setCountOf(true) . Dao.countOf(...) 的文档应该更明确地说明这一事实。

PreparedQuery<Klient> query = klientDao.queryBuilder().setCountOf(true)
.where().eq("Kli_nazwa",et_nazwa.getText().toString()).prepare();

如果您使用 queryBuilder.countOf()where.countOf() 那么它将在内部设置计数标志。您可以通过执行以下操作来获取没有此问题的查询计数:

value = klientDao.queryBuilder()
.where().eq("Kli_nazwa",et_nazwa.getText().toString()).countOf();

顺便说一句,这是一个奇怪的模式:

    et_adres.setText(((PreparedQuery)q_adres).toString());

也许您想执行以下操作?

 String queryString = klientDao.queryBuilder()...prepareStatementString();

关于java - 准备好的查询的奇怪错误不是 SELECT_LONG 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22183886/

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