Я не верю, что ваша проблема связана с запросом, он работает нормально, используя: -
public class SO51108624DBHelper extends SQLiteOpenHelper {
public static final String DBNAME = "worddb";
public static final int DBVERSION = 1;
public static final String TB_MAIN_WORDS = "tbl_main_words";
public static final String COL_WORDID = "word_id";
public static final String COL_WORDENG = "word_eng";
SQLiteDatabase mDB;
public SO51108624DBHelper(Context context) {
super(context, DBNAME, null, DBVERSION);
mDB = this.getWritableDatabase();
}
@Override
public void onCreate(SQLiteDatabase db) {
String crtsql = "CREATE TABLE IF NOT EXISTS " + TB_MAIN_WORDS + "(" +
COL_WORDID + " INTEGER PRIMARY KEY," +
COL_WORDENG + " TEXT" +
")";
db.execSQL(crtsql);
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
public long addRow(String word) {
ContentValues cv = new ContentValues();
cv.put(COL_WORDENG,word);
return mDB.insert(TB_MAIN_WORDS,null,cv);
}
public void populateMainWordsTable() {
mDB.delete(TB_MAIN_WORDS,null,null);
for (int i=0; i < 1000; i++) {
addRow("test");
}
}
public int getWordCountBetweenIDs() {
String sql = "SELECT * FROM tbl_main_words WHERE word_id BETWEEN 1 AND 500 ORDER BY word_eng";
Cursor csr = mDB.rawQuery(sql,null);
int rv = csr.getCount();
csr.close();
return rv;
}
}
вместе с: -
SO51108624DBHelper mDBHlpr = new SO51108624DBHelper(this);
mDBHlpr.populateMainWordsTable();
int rowcount = mDBHlpr.getWordCountBetweenIDs();
Log.d("ROWCOUNT", "Number of rows returned was " + String.valueOf(rowcount));
В результате: -
06-29 22:29:39.193 1452-1452/soanswers.soanswers D/ROWCOUNT: Number of rows returned was 500
Таким образом, вполне вероятно, что сама таблица будет пустой при запуске этого. Это при условии, что вы не пропустили никаких ошибок, таких как столбец / таблица не найдены.
Вы можете попробовать использовать: -
Log.d ("ROWCOUNT","Number of rows in tbl_main_words is " + String.valueOf(DatabaseUtils.queryNumEntries(myDb,"tbl_main_words")));
Cursor cursor = myDb.rawQuery("SELECT * FROM tbl_main_words WHERE word_id BETWEEN 1 AND 500 ORDER BY word_eng",null)
и затем проверка журнала, который должен иметь что-то вроде: -
06-29 22: 36: 54.232 1529-1529 / soanswers.soanswers D / ROWCOUNT: Количество
строк в tbl_main_words составляет 1000