Ich habe eine Android-App mit einer lokalen SQLite-Datenbank.Android: ORDER BY in Abfrage
private SQLiteDatabase mDb;
, wenn ich diese Abfrage ausführen bekomme ich meinen Cursor über Zeilen mit pid gleich id, wie gewünscht:
mDb.query(true, PT_TABLE, new String[] {KEY_PID, KEY_TID},
KEY_PID+" = "+id, null, null, null, null, null);
, wenn ich die folgende Abfrage ausführen, die gleiche Ergebnismenge zu erhalten Ziel, bestellt von pid erhalte ich "android.database.sqlite.SQLiteException: datatype Mismatch"
mDb.query(true, PT_TABLE, new String[] {KEY_PID, KEY_TID},
KEY_PID+" = "+id, null, null, null, null, KEY_PID+" DESC");
Irgendwelche Ideen?
In der Dokumentation gibt es sieht auch eine Version sein: SQLiteDatabase.query (Tabelle, Spalten, Auswahl, selectionArgs, groupBy, mit, orderBy) <- ein Feld bemerken (die Grenze) ist –
fehlt, was falsch ist , erwähnt doc gibt auch den folgenden Aufruf 'Abfrage (String-Tabelle, String [] Spalten, String-Auswahl, String [] selectionArgs, String groupBy, String mit, String orderBy)'. – 2ndGAB
@ 2ndGAB: Eigentlich ist die Methode, die Sie erwähnen, dieselbe, die Dandre erwähnt und Sandip in seiner Antwort verwendet, und ist nicht die in Bees Frage. Beachten Sie, dass sie unterschiedliche Aritäten haben (7 vs. 9), und Ihrerseits keinen booleschen Wert ("distinct" von der in der Frage verwendeten Methode) verwendet. – outis