0

最初のステップでdbが空のときに、db上のすべてのアイテムを取得しようとしています。その後、dbからいくつかのアイテムを挿入します。正しく挿入しています(エラーがなく、numの挿入が0より大きい)。しかし、dbからすべてのアイテムを取り戻そうとするときに挿入した後、dbAdper.getAllTitles()で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;
        }

    }

nullを取得するメソッドは

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

1 に答える 1

1

データベースヘルパークラスにデータベースオブジェクトデータベースを作成していません。値をテーブルに挿入した後、データベースを閉じていないことを確認してください。

于 2013-01-05T09:52:58.573 に答える