1

アンドロイドは初めてです。db.query を使用してユーザー名を取得および比較する場合、値が一致しない場合は常に何らかの値を返す必要があります。

ここにコードがあります

public boolean check(String name)
{
    SQLiteDatabase db = DB.getReadableDatabase();


      Cursor cursor = null;
      try{
      cursor=db.rawQuery("SELECT * FROM "+ DBHelper.Login_Table + " WHERE "+ 
              DBHelper.KEY_USERNAME + "='" + name + "'",null);

      }
      catch(Exception e)

      {
       e.printStackTrace();
      }

        if (cursor!=null) {
            Log.i("someTAG","Error .. USERNAME EXIST");
            cursor.moveToFirst();
            return true;

        }
        else
        {
            Log.i("someTAG","Error ..  NOT EXIST");
            return false;

      }
}
4

1 に答える 1

2

いいえ、カーソルは null を返す必要はありません。0 レコードを返すだけです。

if(cursor.getCount() != 0){
    // user exists
} else {
    // user doesn't exist
}
于 2012-07-08T21:31:44.233 に答える