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;
}

電話番号の行が存在する場合に true を返すと想定されています (形式は +441212312312 - String )。問題は、そのような行が存在する場合でも、常に false を返すことです。WHERE 句に問題があると思いますが、LIKE も機能しません。これどうやってするの ?ご返信ありがとうございます

4

1 に答える 1

0

SQLiteDatabase オブジェクト インスタンスから直接クエリ、挿入、更新、または削除句を使用することをお勧めします;)

また、以下のリンクを参照して、返される値を確認してください

SQLiteDatabase オブジェクト

そして、それが存在するかどうかだけが必要な場合は、 * について質問しないことをお勧めします... _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 に答える