2014-11-05 27 views
-1

這可能不是在數據庫從一列抓住一個價值的最佳方法,但這裏是我到目前爲止有:用遊標從SQLite數據庫中抓取一個值,並轉換成int

我所說的表切換一個名爲levels的列。列級別是一個整數值列。我想從水平列中獲取整數值。我怎樣才能做到這一點?我試過這個,但我無法得到整數值與得到光標。

這裏是我的代碼:

  SQLiteDatabase sqLiteDatabase; 
      sqLiteDatabase = dbHandler.getReadableDatabase(); 
      sqLiteDatabase.beginTransaction(); 
      Cursor cursor; 
      Integer level; 

      String select_level = "SELECT level FROM switches"; 

      cursor = sqLiteDatabase.rawQuery(select_level, null); 
      level = Integer.parseInt(cursor.toString()); 

問題是光標不是整數,所以我想將轉換爲字符串,則INT但似乎我得到一個數字格式異常。我認爲這是因爲光標給我的列名和整數值。

如何僅使用SQLite數據庫使用原始SQL獲取特定列的整數值?

回答

4

這行代碼後,

cursor = sqLiteDatabase.rawQuery(select_level, null); 

添加下面的代碼

while (cursor.moveToNext()) { 
level = cursor.getInt(0); 
} 
+0

哦,我看看,如果我想要填充列表,例如,如果我有幾個層次,我想把我從數據庫中得到的級別放到列表中? – Euridice01 2014-11-05 21:06:58

+0

也就是說,由於某種原因,上面給出了db表中的最後一個值。如果我想要第一個價值呢? – Euridice01 2014-11-05 21:26:04

+0

@ Euridice01,要從db獲取第一個值,請相應地修改選擇查詢。可能是由Asc訂購也會有所幫助。 ...或者在while語句中添加一個break語句後的assigment。這將解決你的目的。 – Prem 2014-11-05 21:29:55

相關問題