[英]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.