使用游标的问题从android SQLite3数据库读取

时间:2011-08-16 13:00:20

标签: android database sqlite cursor

我不能为我的生活想象为什么这段代码不起作用。它遵循与我的应用程序的其他部分完全相同的格式,除了我将两个属性传递给助手方法,这应该不是问题,我只返回一行可能是问题,但如果是,我不理解!

我有一个有效的活动,直到我调用此命令。

Log.d("Testing","Testing: " + cardID + " " + cardTypeID);
//LogCat displays the right values 11 1

Cursor c = mDbHelper.fetchCard(cardID,cardTypeID);  // <--COMMAND

辅助方法如下所示

public Cursor fetchCard(String cardID,String cardTypeID) {  
    String sql = "SELECT teamName FROM tbl_team JOIN tbl_card ON tbl_team.teamID = tbl_card.teamID WHERE cardID=" + cardID;
    //This returns 1 row when run in a SQLite Database Browser

    Log.d("Testing","Testing :" + cardID + " " + cardTypeID );
    // Program has crashed before this Log
    // Caused by: java.lang.NullPointerException

    Cursor c;
    c =  mDb.rawQuery(sql, null);

    return c;

我倾向于这个存在,因为只有一行已被阅读,我需要做c.moveFirst()或其他什么。能帮助我们解决这个问题。另外,为什么我没有得到任何写入LogCat。它似乎马上就失败了???

PS。我试过了         返回mDb.rawQuery(sql, null); 我认为这与上述相同。

非常感谢 标记

1 个答案:

答案 0 :(得分:1)

您的mDbHelper为空。初始化它。并且学会使用LogCat而不是使用日志来猜测崩溃应用程序的行,这确实有帮助。