使用while循环检查数据库问题中的条目

时间:2012-04-04 15:56:48

标签: android database sqlite cursor rows

 Integer c=0;

 DatabaseHelper dbh1 = new DatabaseHelper(this);
 Cursor ca = dbh1.getReadableDatabase().query(DatabaseHelper.TABLE_NAME, null, null, null, null, null, null);

 while (ca.moveToNext()) 

 { 
     String Ans6 = ca.getString(ca.getColumnIndex(DatabaseHelper.VALUE6));
     if ( Ans6.equals("Automatic"))
      {
       c+=1;
      }  
 }
 String strI = Integer.toString(c);

 Toast toast=Toast.makeText(this, strI, 2000);
 toast.show();

我在android中有一个SQlite数据库设置。该表已成功设置,我正在尝试检查列VALUE6中的值(如果它与自动匹配)。游标必须遍历每一行并检查该行中VALUE6的值并返回自动行数。我的代码是对的吗?有任何想法吗?每次运行代码时strI都返回0。

1 个答案:

答案 0 :(得分:1)

这是一种蛮力的做法。为什么不查询该值,然后获取返回游标中的行数?

Cursor ca = dbh1.getReadableDatabase().query(DatabaseHelper.TABLE_NAME, null, DatabaseHelper.VALUE6 + "='AUTOMATIC'", null, null, null, null);
int count = ca.getCount();

希望这有帮助!