0

我试图在我的数据库中获取所有项目,而第一步是我的数据库是空的,然后我从我的数据库中插入一些项目。我插入正确(没有任何错误并且插入的 num 大于 0)。但是在尝试从数据库中取回所有项目时插入后,dbAdper.getAllTitles();

这是我的代码

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

您尚未在数据库帮助程序类中创建数据库对象 db。请确保在将值插入表后没有关闭数据库。

于 2013-01-05T09:52:58.573 回答