[英]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.