2011-04-29 53 views
1

我有以下代碼:安卓:訪問DB

DbAdapter dbAdapter = new DbAdapter(this); 
dbAdapter.open(); 
ArrayList<String> queryResultList = new ArrayList<String>(); 
Cursor cur = dbAdapter.db.query("mytable", columns, where, null, groupBy, null, null);  
cur.moveToFirst(); 
while (cur.isAfterLast() == false) 
{ 
     queryResultList.add(cur.getString(0)); 
    cur.moveToNext(); 
} 
cur.close(); 

dbAdapter.close(); 

此代碼的設備在那裏從來沒有運行,即消滅仿真器,以及在哪裏後,去除應用了三星Galaxy S的設備上運行第一次審判。這意味着我正在閱讀的數據庫首先在設備上創建。這是一個自定義數據庫。

在2.2上運行得非常好,在2.1-update1(API級別7)上它不會,isAfterLast()始終爲true,但它自API Level 1以來就存在。任何一個想法?或者一個想法我能做些什麼來弄清楚?

感謝,A

回答

0

嗯,爲什麼不使用:

Cursor cur = ...; 
while (cur.moveToNext()) { 
    queryResultList.add(cur.getString(0)); 
} 
cur.close();