我有一个sql database
由一列Contact_Priority
组成,它由整数组成字符串条目(即1,2 ...但保存为字符串)。 Contact_Priority
可能包含多个数字。我正在使用以下查询来获取包含特定数字的行数。SQLite数据库where子句无法正常工作
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);
我得到的行数正确。我很困惑,为什么它不工作。
P.S. - Contact_Priority
在其行中有priority
,即没有错字错误。
我只是想知道有多少行数具有相同的优先级。
更新: -
我不知道是否有帮助,但我做的应用程序分配一些联系人号码给定Contact_Priority
。我所做的是,当我添加一个联系人到任何特定Contact_Priority
即1,2个左右,在一个按钮上单击我可以添加到所有的优先级,即优先级1到8将具有相同的联系人,你可以看到在上面的图像。
这我已经成功实施,现在虽然显示优先级的联系人,我得到的问题,但奇怪的是它正在一个特定的优先事项,通过我设置所有类似的联系人。
考虑我选择保持优先级为“2”的所有联系人,那么我得到正确的输出为“2”,即正确的行数,而其他所有其他我得到0.我检查数据库是否更新和行更新,但为什么我得到的输出只有一个优先我不明白。
更新2
的priority
值取决于它包含其上的onClick
查询函数被调用的按钮listview
的位置。例如。考虑一下,我将priority
2
的联系人复制到其他人。数据库已更新,如上图所示。现在,当我点击listview child 1
的按钮时,优先级为1
,如果我点击第二个孩子的按钮,那么优先级为2
等等。由于一些奇怪的原因,它的工作优先级是“2”(因为我将“2”的联系人全部复制到了全部)。对于其他人来说,这不起作用。
现在,如果我有复制的“优先级3”的联系人,然后它会工作了,只有当优先级为“3”(即我点击就行了3按钮)和不工作的任何人。
我想我已经说清楚了。抱歉让大家困惑,我自己很困惑,因为我还没有看到这样的奇怪问题。
如果输出该句子正在生成的查询,您会立即发现问题。这样做并粘贴在这里。 –
我不明白'Contact_Priority可能包含多个数字'? – njzk2
Contact_Priority变量的值是多少?优先级变量的? – njzk2