2013-03-23 76 views
0

我在數據庫中創建了一個表,現在我想訪問某個列中的所有值。最後,我想把數據放入byte[]。我的代碼 部分:訪問數據庫中的數據並將它們放入String []

db.execSQL("create table thing(id integer primary key" + 
      " autoincrement, name varchar(20))"); 

List<Integer> all = new ArrayList<Integer>();  
String sql = " SELECT id from " + DB_NAME; 
Cursor result = this.db.rawQuery(sql, null); 

for (result.moveToFirst(); result.isAfterLast(); result.moveToNext()) { 
    all.add(result.getInt(0));   
} 

String[] fstr = (String[]) all.toArray(); 
for (String bstr : fstr) { 
    byte[] bbs = bstr.getBytes(); 
} 

回答

3

使用此代碼

String[] fstr = new String[result.getCount()] ; 

    do { 
    int posi = result.getPosition(); 
    fstr[posi] =result.getString(0);       
    }while (result.moveToNext()); 
0

試試這個

Cursor c=this.db.rawQuery(sql, null); 
if(c.getCount()>0) 
{ 
    for(c.moveToFirst();!c.isAfterLast();c.moveToNext()) 
    { 
    String str=c.getInt(0));// or c.getString(); 
    } 
} 

else 
{ 
    Log.d(" Null value in cursor ", " null "); 
} 
c.close(); 
dbhelper.close(); 
相關問題