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也不会工作。我怎样才能做到这一点 ? 谢谢你的回复
答案 0 :(得分:0)
我建议你直接从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);
}