2013-01-05 33 views
0

我試圖讓我的數據庫上的所有項目,而第一步是我的數據庫是空的,之後,我從我的數據庫插入一些項目。我正確插入(dont有任何錯誤並且插入的num比0大)。 但插入後試圖從數據庫獲取所有項返回dbAdper.getAllTitles();在db.query上爲空而db爲空

這裏是我的代碼

public ArrayList<Object> getWantedItemsList(Context context,String item,String item2,String item3,String item4){ 
     ArrayList<Object> ListRssLinkAndTitle=new ArrayList<Object>(); 
     DBAdapter dbAdper=new DBAdapter(context); 
     Cursor CursorDb =null; 
     try 
     { 
      dbAdper.open(); 
      dbAdper.drop(); 
      dbAdper.createTable(); 
      dbAdper.insertTitle(context,"Ynet", "http://www.ynet.co.il/Integration/StoryRss2.xml", "rtl",null); 
      dbAdper.insertTitle(context,"BBC", "http://feeds.bbci.co.uk/news/world/us_and_canada/rss.xml", "rtl",null); 
      CursorDb =dbAdper.getAllTitles(); 
      CursorDb.moveToFirst(); 
      if (CursorDb.getCount()>0) 
       do 
       { 
        ListRssLinkAndTitle.add(new rssLinkAndTitle(CursorDb.getString(CursorDb.getColumnIndex(item)),CursorDb.getString(CursorDb.getColumnIndex(item2)),CursorDb.getString(CursorDb.getColumnIndex(item3)),CursorDb.getBlob(CursorDb.getColumnIndex(item4)))); 
       } 
       while(CursorDb.moveToNext()); 
     } 
     finally{ 
      if (CursorDb.equals("null")) 
      CursorDb.close(); 
      dbAdper.close(); 
      return ListRssLinkAndTitle; 
     } 

    } 

並得到空的方法是

public Cursor getAllTitles() throws SQLException 
    { 
     return db.query(DATABASE_TABLE, new String[] { 
       KEY_ROWID, 
       link, 
       RssTitle, 
       Rtl, 
       image 
     }, 
     null, 
     null, 
     null, 
     null, 
     null 
       ); 
    } 
+0

添加更多代碼的DatabaseAdapter代碼,如構造函數部分 – TNR

回答

1

您尚未創建數據庫對象DB數據庫中的輔助類。請確保在將值插入表後將不關閉數據庫。

+0

非常感謝! –

相關問題