开发者

Cursor returns empty when querying for particular column values, even though rows exist

I have implemented a custom SQLite database helper. I have a table containing sms messages. I query this table for entries from a particular phone 开发者_如何学Pythonnumber like so:

public Cursor getSmsForContact(String phoneNumber) throws SQLException {
    phoneNumber = PhoneNumberUtils.stripSeparators(phoneNumber);
    Cursor cursor =
     db.query(DATABASE_TABLE, new String[] {
            KEY_DATE,
            KEY_BODY,
            KEY_CONTACT,
            KEY_TYPE,
            KEY_ROWID,
            KEY_MESSAGE_STATE
    }, KEY_CONTACT + "=" + phoneNumber, null, null, null, null);

    return cursor;
}

This method works fine for numbers that do not have a "+" in the front (indicating a country code). However, it always returns an empty cursor when phoneNumber has a "+" in the front. I've verified that the PhoneNumberUtils.stripSeparators() method does not remove the "+" sign. I've also verified that rows exist in the table which match the phone number which is being queried. Thanks!


Try

}, KEY_CONTACT + "= ?" , new String[] {phoneNumber}, null, null, null);

Phone number is being interpreted as a number; you want it to be interpreted as a string

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜