从游标到int的单个值

时间:2014-06-02 21:39:07

标签: android sqlite

我似乎无法弄清楚如何将我的select查询(应该是一个数字)的结果输入到我的int min中。使用谷歌找到了不同的解决方案,但都没有。

我需要最小值才能检查当前玩家的分数是否高于最低分数才能进入高分。

public int getMin(){
        System.out.println("in getmin");
        String selectQuery = "SELECT MIN(score) FROM tblscore;";
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery(selectQuery, null);
        int min = "something here to put the result in the int"
        cursor.close();
        db.close();
        return min;
}

2 个答案:

答案 0 :(得分:2)

您可以通过游标读取值,但是对于像这样的单值查询,DatabaseUtils class中有一个帮助函数,这使事情更简单:

public int getMin(){
    String selectQuery = "SELECT MIN(score) FROM tblscore";
    SQLiteDatabase db = this.getReadableDatabase();
    try {
        return (int)DatabaseUtils.longForQuery(db, selectQuery, null);
    } finally {
        db.close();
    }
}

答案 1 :(得分:1)

首先,您需要将光标指向第一行:

cursor.moveToFirst();

然后您可以使用Cursor.getInt获取值:

int min = cursor.getInt(0);