为sqlite检索单行中的列值

时间:2012-05-27 07:08:11

标签: android sqlite

尝试在我的Android应用程序的sqlite中获取“option”列的值,其中“option”列为=“lastclick”。

这是我的函数代码:

public String getLastClick() {
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery("SELECT value FROM config where option='lastclick'", null);
    cursor.moveToFirst();
    return cursor.getString(0);
}

它似乎没有正常工作...我正在使用以下代码进行条件语句,即使我第一次在VD上安装应用程序,它也不会将字符串识别为0,我的onCreate函数将“lastclick”值为“0”的行插入数据库。

无论如何这里是代码:

    DatabaseHandler db = new DatabaseHandler(this);
    String lastClick = db.getLastClick();

    // check if its the first time they've ever clicked
    if (lastClick != "0") {
        String millis = String.valueOf(Long.parseLong(dateString) - Long.parseLong(lastClick));
        db.insertRecord(millis);
    }

“option”和“value”都是varchar。

1 个答案:

答案 0 :(得分:2)

比较Strings的正确方法是使用equals方法,而不是:

if (lastClick != "0") {

写:

if (!lastClick.equals("0")) {