2013-01-05 3 views
0

첫 번째 단계는 내 데이터베이스가 비어 있고 그 후에는 데이터베이스에있는 일부 항목을 삽입하는 동안 내 데이터베이스에서 모든 항목을 가져 오려고합니다. 올바르게 삽입하고 있습니다. 어떤 오류가 있고 num을 삽입하는 것이 더 크다 0). 하지만 삽입 후 db에서 모든 항목을 다시 가져 오려고 할 때 dbAdper.getAllTitles();db가 null이 아닌 동안 db가 null이됩니다. db가 null이 아닙니다.

여기 내 코드

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; 
     } 

    } 

및 널 얻는 방법 당신은 당신의 데이터베이스 헬퍼 클래스에 데이터베이스 개체의 DB를 작성하지 않은

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

입니다. 값을 테이블에 삽입 한 후 데이터베이스를 닫지 않았는지 확인하십시오.

+0

감사합니다. –

관련 문제