2014-01-08 254 views
0

如何解决该错误如何获取数组列表查询的结果集在Cursor对象中返回。还有,你将使用游标使用一些常用的方法将内容添加到数据库中

public class DBAdapter { 
     Context c; 
     CluecatalogOpenHelper helper; 
     SQLiteDatabase db; 
     int flag=0; 

     public DBAdapter(Context ctx) { 
      super(); 
      this.c = ctx; 
      helper=new CluecatalogOpenHelper(ctx); 
     } 
     public void openDB(){ 

      db=helper.getWritableDatabase(); 
     } 
     public void closeDB(){ 
      db.close(); 
     } 

     public void addRow(String name, byte[] data1) { 

       openDB(); 
       ContentValues values = new ContentValues(); 
       values.put("name", name); 
       values.put("object",data1); 
       db.insert("topsearch", null, values); 
       closeDB();   
     } 


     public void deleteRow(String name) 
     { 
     try { 
db.execSQL("delete from topsearch where name = (?)",new String[]{""+name}); 
     } catch (SQLException e) { 
     e.printStackTrace(); 
           } 
     } 

     public Cursor showData(){ 
     try{ 
     Cursor c = db.query("topsearch", new String[]{"name","object"}, null, null,null, null,null); 
      return c; 
      }catch(Exception e) { 
      e.printStackTrace(); 
      return null; 
      }}} 

如何解决这个错误

+0

请把这个问题翻译成英文! –

+1

有点难以理解:/ – GhostDerfel

+1

你试图克服的错误是什么? – BRFennPocock

回答

0

我不知道你问什么,但如果你问你怎么拉出来结果出来的光标对象,并进入列表你会这样做:

List list = new ArrayList(); 
Cursor c = db.query("topsearch", new String[]{"name","object"}, null, null,null, null,null); 

while(c.moveToNext()) 
{ 
    //populate your return object from the cursor here 
    //i'm just making this part up 
    Obj obj = new Obj(); 

    obj.setName(c.getString(0)); //0 being the column index 

    list.add(obj); 
} 

return list;