使用Cursor从数据库中检索单个值的语法

时间:2014-05-19 05:58:32

标签: android sqlite android-sqlite android-cursor

我需要获得列durms(整数)的ave,它以毫秒为单位存储秒。 我试图通过直接将值赋给long变量来做到这一点。 它是否正确? 我检查了log.d(dur,cursor.getLong(0));

总是给出0。 我检查了数据库,列durms中有值。

请帮帮我:)代码如下。

public String getAve(String s) {
    SQLiteDatabase db = getWritableDatabase();
    String query = "select avg(durms) from logs where type ='" +s+ "'";
    Cursor cursor = db.rawQuery(query, null);
    String dur = null;
    if(cursor.moveToFirst()){
    Log.d(dur, String.valueOf(cursor.getLong(0)));
    long ss = cursor.getLong(0) / 1000 % 60;
    long mm = cursor.getLong(0) / (1000 * 60) % 60;
    long hh = cursor.getLong(0) / (1000 * 60 * 60) % 60;
    if (hh > 0)
        dur = hh + "h " + mm + "m " + ss + "s ";
    else if (mm > 0)
        dur = mm + "m " + ss + "s ";
    else
        dur = ss + "s ";

    }
    return dur;

}

另请告诉我从db中检索值以进行操作的最短路径。

谢谢, Karthick。

0 个答案:

没有答案