我有一个sql database
由整数组成的列Contact_Priority
作为字符串整数(即1,2 ...但保存为字符串)。Contact_Priority
可能包含不止一次的数字。我正在使用以下查询来获取包含特定数字的行数。
SQLiteDatabase sqLiteDatabase = this.getReadableDatabase();
Cursor cursor = sqLiteDatabase.query(CONTACT_TABLE, null, Contact_Priority + " =? ", new String[]{priority} , null, null, null);
int count = cursor.getCount();
但它返回 0,尽管数据库中存在一些行。
如果我把Cursor cursor1 = sqLiteDatabase.query(CONTACT_TABLE, null, null, null, null, null, null, null);
我得到正确的行数。我很困惑为什么它不起作用。
PS -Contact_Priority
在priority
其行中,即没有拼写错误。
我只想知道有多少行具有相同的优先级。
更新 :-
我不知道它是否有帮助,但我正在制作的应用程序将一些联系号码分配给给定的Contact_Priority
. 我所做的是,当我将联系人添加到任何特定的Contact_Priority
即 1,2 等时,单击按钮我可以添加所有优先级,即优先级 1 到 8 将具有与您在图像中看到的相同的联系人多于。
这我已经成功实施,现在在显示优先级的联系人时,我遇到了问题,但奇怪的是它正在工作一个特定的优先级,通过它我设置了所有类似的联系人。
考虑我选择保留优先级“2”的所有联系人,然后我得到“2”的正确输出,即正确的行数,而对于所有其他人,我得到 0。我检查了数据库是否已更新并且行是否已更新但为什么我只获得一个优先级的输出,我无法理解。
更新 2
的值priority
取决于调用查询函数listview
的按钮所在的位置。onClick
例如。考虑一下,我将联系人复制priority
2
给了所有其他人。数据库已更新,如上图所示。现在,当我点击listview child 1
优先级的按钮时1
,如果我点击第二个孩子的按钮,则优先级是2
等等。由于一些奇怪的原因,它的工作优先级是“2”(因为我将“2”的联系人复制给了所有人)。对于其他人来说,它不起作用。
现在,如果我复制了“优先级 3”的联系人,那么它仅适用于优先级为“3”(即我单击列表上的第 3 个按钮)并且不适用于其他任何人时。
我想我已经说清楚了。很抱歉让大家感到困惑,我自己也很困惑,因为我还没有遇到过这样的奇怪问题。