2

我在 Eclipse 中为 Android 做 Java。我有一个小型 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 base,我试图通过以下方式强制它进入:

整数基数=2;int total = Integer.parseInt(bin,base); 但它抛出错误..

4

1 回答 1

0

我认为当它没有给您光标时,您将其返回给光标。尝试一个 int 或 long。

于 2012-03-13T17:54:46.497 回答