0
 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を返します。

4

1 に答える 1

1

それはそれを行うためのブルートフォースの方法です。その値をクエリして、返されたカーソルの行数を取得してみませんか?

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

お役に立てれば!

于 2012-04-04T16:38:33.640 に答える