繁体   English   中英

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

[英]Raw Query is unable to convert BLOB to string for selecting column of String[]

我遇到一个出现此错误的问题:

 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分隔的ID的字符串,例如。 1,2,3,4,5或'1','2','3'(如果ID为字符串)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM