2016-06-18 9 views
1

Ich habe eine Abfrage auf SQLite, die "zwischen" verwenden, und ich möchte es auf Standard-Abfrage verwenden. mein Code ist hier:Wie kann BETWEEN in sqlite über db.query verwendet werden

 String[] columns = new String[]{"_id", "question_group", "question_number", "is_answered"}; 
     String selection = "question_group = ?"; 
     String[] selectionArgs = new String[]{String.valueOf(category)}; 
     String groupBy = null; 
     String having = null; 
     String orderBy = null; 
     String limit = null; 
     SQLiteDatabase db = SQLiteDatabase.openDatabase(DB_PATH + DB_NAME, null, SQLiteDatabase.OPEN_READWRITE); 
     Cursor cursor = db.query(TABLE_QUESTION, columns, selection, selectionArgs, groupBy, having, orderBy, limit); 

ich eine weitere Bedingung hinzufügen wollen, ist: question_number zwischen 1 und 10. Ich nun diese Abfrage in einer einzigen Anweisung schreiben kann, aber ich will, es zu benutzen, wie oben gesagt, ich.

Antwort

2

Aus der Beschreibung der Android documentationselection Parameter der Abfrage() Methode:

Ein Filter deklarieren, welche Zeilen zurückgeben, als SQL-formatierte WHERE-Klausel (mit Ausnahme der WHERE selbst). Wenn Sie null übergeben, werden alle Zeilen für die angegebene Tabelle zurückgegeben.

Wenn Sie die folgende WHERE Klausel in der Abfrage

WHERE question_group = :category AND question_number BETWEEN 1 AND 10 

dann können Sie die folgenden selection verwenden und selectionArgs:

String selection = "question_group = ? AND question_number BETWEEN ? AND ?"; 
String[] selectionArgs = new String[]{ String.valueOf(category), "1", "10"}; 
+0

Vielen Dank – Beppe

Verwandte Themen