2013-02-17 59 views
0

任何人都可以幫助我從id(INTEGER PRIMARY KEY)獲取列數據。Android SQLite數據庫列數據(字符串)獲得列Id的幫助

我的代碼如下:

String selectQUERY = " SELECT * FROM " + dbh.TABLE_CONTACTS.toString() +" WHERE "+ dbh.KEY_ID +"="+ "1"; 
Cursor cr = db.rawQuery(selectQUERY, null); 
    if (cr.moveToFirst()) { 
    do 
    { 
    newArr.add(cr.getString(1)); 
    } while (cr.moveToNext()); 

} 
for(int i=0;i<newArr.size();i++) 
    { 
     System.out.println("id pos :- "+newArr.get(i)); 
    } 

注: - newArr是一個String類型的ArrayList。

謝謝。

+0

嘗試使用ORM工具做SQLLite在Android中。直接注入代碼很快就會導致問題(http://ormlite.com/) – 2013-02-17 17:41:25

回答

1

您沒有提供太多細節,但它看起來像你可以使用:cr.getLong(0)

Cursor cr = db.rawQuery(selectQUERY, null); 
while (cr.moveToNext()) { 
    // Do something with cr.getLong(0) here 
    newArr.add(cr.getString(1)); 
} 
+0

您應該在while循環之前有'cr.moveToFirst()'。 – 2013-02-17 17:45:27

+1

'moveToNext()'在索引爲-1時做同樣的事情,如果我在此循環中使用moveToFirst(),它將跳過第一個條目......(注意,我從do-while循環切換到簡單的while循環。) – Sam 2013-02-17 17:46:34