2012-03-13 18 views
2

我在eclipse中爲Android做Java。我有一個小的sqlite數據庫,它在我的數據庫管理器類中有一個方法,它假定返回數據庫表中的行數。返回二進制數的SQLite行號查詢

這個方法:

public int getHomeScreenTotal(){ 

    SQLiteDatabase db=this.getReadableDatabase(); 
    int rows = -1; 
    try { 
     rows = (int) db.compileStatement(
     "SELECT COUNT(*) FROM " + homeIcons).simpleQueryForLong(); 
    } catch (NullPointerException e) { 
    return -1; 
    } 
    return rows; 

    } 

的問題是,無論我做什麼,它返回一個二進制,而不是一個int。所以不是返回3而是返回11,而不是4返回100,5/101等。

正如你可以看到我註釋掉INT基地,我試圖說迫使它進入一個在:

INT基準= 2; int total = Integer.parseInt(bin,base); 但它是拋出錯誤..

+0

如果您打印'c.getString(0)',它會輸出什麼內容? 'c.getInt(0)'的結果應該已經是'int' – zapl 2012-03-13 18:16:10

回答

0

我想你沒有給你一個遊標時將它返回給遊標。嘗試一個int或long。

+0

對不起,我實際上已經把錯誤的代碼版本放在那裏我更新了..見上面..我仍然得到二進制結果..他們是正確的結果,只是格式錯誤 – erik 2012-03-13 18:21:33