0
我想搜索我的数据库,看看它是否存在一个数字,如果是的话返回true,否则返回false。这里是我的查询为什么这个数据库查询不能正常工作
public boolean getPhone(String where){
Cursor cur = db.query(DATABASE_TABLE, new String [] {ID,PHONE_NUMBER},PHONE_NUMBER + "='" + where + "'",null,null,null,null);
if(cur.moveToFirst()){
do{
String test = cur.getString(cur.getColumnIndex(PHONE_NUMBER));
Log.v("ContactDB", test);
if(test.equals(where))
return true;
}while(cur.moveToNext());
}
return false;
}
当它到达的do while循环它跳跃就在它甚至没有做一次像它应该返回false。如果我把while循环取出,if(c.movetofirst())会测试错误的即时猜测,因为它也跳到右边返回false。
我只是不明白为什么它不能正常工作。该数据库存在并且具有值
你输出了查询并在sqlite中手动运行它?我猜你的where子句给出了一个空的结果集。 – sreimer 2011-03-17 14:42:42