2

假设我已将以下记录作为字符串存储在 sqlite 数据库中:

09575788
08902149
08902134
47889789
47889776
47889797
48250496

我的任务是检查这些值是否存在于数据库中。所以我建立了一种方法来检查这些值是否存在。

因此,用户在 editText 中插入这些值之一,我必须检查该值是否存在。

出现的问题是,当我尝试搜索以“0”开头的数字时,查询始终返回 null,但是当我搜索任何其他数字时 - 不以“0”开头的查询会在D b。

这是我的代码:

 Cursor cursor = this.db.query(TABLE_NAME, new String[] {KEY1, KEY2, KEY3},
                KEY_CONDITION1 + " LIKE " + prefix1 + " AND " + KEY_CONDITION2 + "=" + prefix2, null, null, null, null);
        return cursor;

知道如何解决吗?感谢您的回答

重要信息所有值都作为字符串存储在数据库中

4

1 回答 1

3

@Adrian,Alex K 给了你正确的答案,但我认为你误解了他。如果前导零是有意义的(例如,对于可以以零开头的美国邮政编码),那么您没有数字,而是有一个字符串。这种列的数据从属关系应该是文本(又名 varchar)。您不想将带有前导零的值转换为整数;您只是想通过将搜索词括在单引号中来查找字符串值;例如:

          ...  where zipcode = '01287'
于 2012-07-23T16:35:02.290 回答