簡體   English   中英

使用 Cursor 從 android SQLite3 數據庫讀取的問題

[英]Problems Using Cursor Read From android SQLite3 database

我一輩子都想不通為什么這段代碼不起作用。 它遵循與我的應用程序的其他部分完全相同的格式,除了我將兩個屬性傳遞給輔助方法,這不應該是一個問題,我只返回一行,這可能是問題,但如果是我不理解!

我有一個活動,直到我調用這個命令。

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。 我試過 return mDb.rawQuery(sql, null); 我相信與上述相同。

非常感謝馬克

您的mDbHelper是 null。 初始化它。 並學會使用 LogCat 而不是用日志猜測導致應用程序崩潰的行,這真的很有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM