它没有回归真正的价值

时间:2010-12-15 09:39:01

标签: android sqlite

我输入此代码用于将记录与数据库记录进行比较。执行但是每个输入记录都显示已存在(可能是旧记录或新记录。)

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 个答案:

答案 0 :(得分:2)

在WHERE之后放一个空格:

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

这应该有效。

答案 1 :(得分:0)

可能的问题:

  1. 您的WHERE子句将单词category与单词WHERE连接起来。
  2. Integer函数是否对传递给它的值进行了任何合理化,这可能会影响分配给a的内容?
  3. 您显示a,但测试c.getCount() - 这两个值实际上是否相同? (见第2点)。此外,c.getCount()在第二次调用时仍然有效吗?
  4. 某处遗失了} - 该功能是否真的沿着您认为的路径前进?