我知道Cursor.getCount()返回的是列数。我写了一个代码,看不到我在哪里犯错。请帮助我,我已经浪费了4个小时。
Cursor res = db.rawQuery("select count(*) from "+TABLE_NAME+" WHERE SENDERS_EMAIL = '"+email+"' AND FRIENDS_STATUS = 1;",null);
Log.d("FrindsInDb","FriendExists, count="+res.getCount());
说明:
情况1:
如果
email = [email protected]
,则输出-> res.getCount()
返回1
(正确)情况2:
如果
email = [email protected]
,则ALSO输出-> res.getCount()
返回1
(为什么?)在我的表中
SENDERS_EMAIL
下,只有[email protected]
存在 最佳答案
选择count(*)
总是返回1行。从查询中删除计数方法。
因此,从表中选择所有行,然后从游标中选择getCount。
Cursor res = db.rawQuery("select * from "+TABLE_NAME+" WHERE SENDERS_EMAIL = '"+email+"' AND FRIENDS_STATUS = 1;",null);
Log.d("FrindsInDb","FriendExists, count="+res.getCount());