это не возвращает истинное значение - PullRequest
0 голосов
/ 15 декабря 2010

Я ввел этот код для сравнения записей с выполняемой базой данных records.it, но он показывает, что уже существует для каждой входящей записи (это может быть старая или новая запись).

boolean ifExisting() {
      //Cursor c = db.rawQuery("SELECT * FROM  sharelist  WHERE  category='"+str1+"'",null);

Cursor c = db.rawQuery("SELECT * FROM  sharelist  WHERE"  + "category" + "=" + category,null);


        Integer a=new Integer(c.getCount());

      Log.e("getcount",a.toString());
         if(c.getCount()>-1)
        { return false;} 
    else{
         return true;
    }

, пожалуйста, помогите мне .............

Ответы [ 2 ]

2 голосов
/ 15 декабря 2010

ставьте пробел после ГДЕ:

 "SELECT * FROM  sharelist  WHERE "  + "category" + "=" + category,null

Это должно сработать.

0 голосов
/ 15 декабря 2010

Возможные проблемы:

  1. Ваше предложение WHERE объединяет слово category со словом WHERE.
  2. Выполняет ли функция Integer какую-либо рационализацию передаваемого ей значения, что может повлиять на то, что присваивается a?
  3. Вы выводите a, но проверяете c.getCount() - действительно ли эти два значения одинаковы? (см. пункт 2). Кроме того, c.getCount() остается в силе при втором вызове?
  4. Где-то отсутствует } - действительно ли функция следует по пути, который, по вашему мнению, есть?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...