0
public boolean findContact(String phoneNumber) {
        boolean exists = false;
        Cursor mCursor = mDb.rawQuery("SELECT * FROM " + SQLITE_TABLE + " WHERE " + KEY_PHONENUMBER + " = " + phoneNumber, null);
        if (mCursor.moveToFirst()) {
            exists = true;
        } else exists = false;
        return exists;
}

当存在带有电话号码的行(格式为 +441212312312 - String )时,应该返回 true。问题是它总是返回 false,即使存在这样的行。我认为 WHERE 子句有问题,但 LIKE 也不起作用。我怎样才能做到这一点 ?感谢您的答复

4

1 回答 1

0

我建议您直接从 SQLiteDatabase 对象实例中使用查询、插入、更新或删除子句;)

并查看下面的链接以了解您将返回哪些值

SQLite 数据库对象

而且我也建议,如果您只是想要它是否存在,请不要询问 * ...询问 _id 因为它是主键,它有一个索引;))<-这意味着更快

在这里,我寻求一个特定的行:

    public Cursor getEnvio(final String empresa_p, final String albaran_p) {
    return db.query(Envio.KEY_ENVIO, new String[] { Envio.KEY_ID,
            Envio.KEY_ALBARAN, Envio.KEY_LINEA, Envio.KEY_TIPO,
            Envio.KEY_DESTINATARIO, Envio.KEY_DIR, Envio.KEY_POBLACION,
            Envio.KEY_POBLACION, Envio.KEY_PRIORIDAD, Envio.KEY_INCIDENCIA,
            Envio.KEY_EMP, Envio.KEY_CPOSTAL }, Envio.KEY_EMP + " = ? AND "
            + Envio.KEY_ALBARAN + " = ? ", new String[] { empresa_p,
            albaran_p }, null, null, Envio.KEY_LINEA);
}
于 2013-07-22T12:05:27.067 回答