gpt4 book ai didi

java - 原始查询无法将 BLOB 转换为字符串以选择 String[] 的列

转载 作者:行者123 更新时间:2023-11-29 19:46:54 25 4
gpt4 key购买 nike

我遇到了以下错误:

 Caused by: android.database.sqlite.SQLiteException: unknown error (code 0): Unable to convert BLOB to string

我在这段代码中遇到了这个问题:

GenericRawResults<String[]> rawResults;
rawResults = DatabaseHelper.getHelper(this)
.getDaoForClass(Table1.class)
.queryRaw("SELECT idList, COUNT(*) FROM Table1 ORDER BY idList");
List<String[]> results = rawResults.getResults();

当我尝试将 rawResult 转换为结果时。 “idList”字段是 String[]

我还尝试仅使用此查询选择列:

SELECT idList FROM Table1

但是出现了同样的错误。

基本上我想做的是选择 id 包含在 idList 字段 String[] 中的对象的频率。

根据要求,我从中选择的表格是这样的:

@DatabaseField(canBeNull = false, columnName = "type")
@Expose
@SerializedName("type")
public Type type;

@DatabaseField(columnName = "idList", dataType = DataType.SERIALIZABLE)
@Expose
@SerializedName("idList")
public String[] idList;

@DatabaseField(canBeNull = false, columnName = "occurredDate")
@Expose
@SerializedName("occurredDate")
public Date occurredDate;

最佳答案

Ii idList 包含您想要查看计数的 ID,那么查询可能应该类似于

SELECT ID, COUNT(*) 
FROM Table1
WHERE ID in (XXX)
GROUP BY ID
ORDER BY ID

XXX - 应该是 idList 转换为包含 id 的字符串,以 , 分隔例如。 1,2,3,4,5 或 '1','2','3' 如果 id 是字符串

关于java - 原始查询无法将 BLOB 转换为字符串以选择 String[] 的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40911594/

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