我知道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());

10-08 15:15