检查数据库字符串中的int是否等于某个值

时间:2015-05-30 16:08:46

标签: java android sqlite integer

我想检查数据库变量的值是否为5,然后更改图像。 Log.d我在检查之前做的if if statment给出了值5和我要检查的标题,因此数据在数据库中。但我的if语句没有被执行,"完成"未记录,图像不会更改。也许我使用错误的方法将cursor.getString(0)解析为Integer? 没有记录错误。

DbHelper dbh  = new DbHelper(context);
    Cursor cursor = dbh.getScore(dbh);
    cursor.moveToFirst();
    if (cursor.moveToFirst()) {
        do {
            Log.d("Database", cursor.getString(0) + cursor.getString(1));
            if (Integer.parseInt(cursor.getString(0))== 5 && Headline.toString().equals(cursor.getString(1))){
                Log.d("Database","Done");
                ImageDone.setImageResource(R.drawable.markerdone);
            }
        }
        while(cursor.moveToNext());
    }
    cursor.close();

1 个答案:

答案 0 :(得分:0)

当我试图从Mysql DB解析int时遇到了同样的问题所以我修复了这样的问题:

 if (Math.round(Float.parseFloat(cursor.getString(0))== 5 && Headline.toString().equals(cursor.getString(1))){
            Log.d("Database","Done");
            ImageDone.setImageResource(R.drawable.markerdone);
        }