它没有返回

问题描述:

我进入这个代码的记录与数据库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; 
    } 

请帮我.............

把WHERE后的空间:

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

这应该工作。

可能的问题:

  1. 你的WHERE子句与字WHERE串联词category
  2. Integer函数是否对传递给它的值进行了任何形式的合理化,这可能会影响分配给a的内容?
  3. 您显示a,但测试c.getCount() - 这两个值实际上是相同的吗? (见第2点)。另外,是c.getCount()仍然有效的第二个电话呢?
  4. 有一个}在某处丢失 - 实际上是否按照您认为的路径行事?