逐行讀取0,列10請檢查下面的代碼:java.lang.IllegalStateException:無法從CursorWindow
List<Database> zaznamy = new ArrayList<Database>();
String selectQuery = "SELECT X FROM Data WHERE LEVEL_1 =-24 AND LEVEL_2 =-48 AND LEVEL_3 =-55 AND LEVEL_4 =0";
File dbfile = new File("/sdcard/rtls/Databases/"+DBName);
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);
Cursor cursor = db.rawQuery(selectQuery,null);
String bodX="empty";
if (cursor.moveToFirst())
{
do {
Database zaznam = new Database();
zaznam.setX(Integer.parseInt(cursor.getString(10)));
zaznamy.add(zaznam);
} while (cursor.moveToNext());
for (Database cn : zaznamy)
{
Log.d("X: ", Integer.toString(cn.getX()));
bodX = (cn.getX()+ "//").toString();
Log.d("X", bodX);
}
}
它說,它無法從CursorWindow逐行讀取0,列10。我用SQLite瀏覽器測試了數據庫。數據庫在第10列第0行處恰好有1個X.我相信SQL查詢正常工作。有人能告訴我,爲什麼它不能被讀取?或者哪裏出錯?
編輯: 糾正代碼:
do {
Database zaznam = new Database();
zaznam.setX(cursor.getInt(10));
zaznamy.add(zaznam);
} while (cursor.moveToNext());
因爲第十列整數值,但仍然沒有運氣。相同的錯誤
你肯定列10是一個字符串?請記住,第一列是第0列。你可以顯示你的表創建查詢嗎? – Tautvydas
更正了上面顯示的代碼 – user3340336