2016-12-01 112 views
0

我在那裏我得到這個錯誤的問題:原始查詢無法BLOB轉換爲字符串選擇字符串列[]

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; 
+0

您是否也可以顯示錶結構? –

+0

@AdarshGangadharan表格數據已添加。 – robigroza

+0

我在找東西,它會告訴我列名和數據類型的大小。上述結構不會顯示數據庫表結構。 –

回答

0

㈡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'