我输入此代码用于将记录与数据库记录进行比较。执行但是每个输入记录都显示已存在(可能是旧记录或新记录。)
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;
}
请帮助我.............
答案 0 :(得分:2)
在WHERE之后放一个空格:
"SELECT * FROM sharelist WHERE " + "category" + "=" + category,null
这应该有效。
答案 1 :(得分:0)
可能的问题:
category
与单词WHERE
连接起来。Integer
函数是否对传递给它的值进行了任何合理化,这可能会影响分配给a
的内容?a
,但测试c.getCount()
- 这两个值实际上是否相同? (见第2点)。此外,c.getCount()
在第二次调用时仍然有效吗?}
- 该功能是否真的沿着您认为的路径前进?