2016-12-01 1 views
0

ich ein Problem habe, wo ich diesen Fehler bin immer:Raw Query ist nicht in der Lage BLOB Zeichenfolge zu konvertieren für die Auswahl Spalt von String []

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

Ich erhalte dieses Problem mit diesem Stück Code:

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

wenn ich versuche, rawResult in Ergebnisse zu konvertieren. "Idlist" -Feld ist String []

Ich habe auch versucht, nur wählen Sie Spalte mit dieser Abfrage:

SELECT idList FROM Table1 

Aber gleiche Fehler aufgetreten.

Grundsätzlich, was ich versuche zu tun, ist die Häufigkeit von Objekten, deren IDs sind in IDList-Feld String [] enthalten.

Wie gewünscht, Tabelle, aus der ich die Auswahl habe, ist dies:

@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

Können Sie auch die Tabellenstruktur anzeigen? –

+0

@AdarshGangadharan Tabellendaten hinzugefügt. – robigroza

+0

Ich suchte nach etwas, das mir den Spaltennamen und den Datentyp mit Größe sagt. Die obige Struktur wird die Datenbanktabellenstruktur nicht offenlegen. –

Antwort

0

Ii idlist ids enthält Sie die Zählung sehen wollen, dann vielleicht die Abfrage sollte wie

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

XXX sein - sollte die idList in string konvertiert werden, die ids enthält, getrennt durch, zB. 1,2,3,4,5 oder '1', '2', '3' wenn die ID ist Zeichenfolge

Verwandte Themen