Аргументы id
, nom
, tlf
и email
в методе buscarCONTACTO()
являются целочисленными или строковыми литералами, но вы используете их в списке SELECT
в качестве имен столбцов. Кроме того, этот метод проверяет только 1-й столбец 1-й строки, возвращенный из запроса. Если имена столбцов также id
, nom
, tlf
и email
и вы хотите проверить, существует ли в таблице строка с аргументами, которые вы передаете, сделайте следующее:
public boolean buscarCONTACTO(int id, String nom, int tlf, String email) {
boolean result = false;
String nombretaula ="contactos";
SQLiteDatabase db = getReadableDatabase();
try{
String QUERY = "SELECT * FROM " + nombretaula + " WHERE id = ? AND nom = ? AND tlf = ? AND email = ?";
Cursor cursor = db.rawQuery(QUERY, new String[] {String.valueOf(id), nom, String.valueOf(tlf), email});
result = cursor.getCount() > 0;
cursor.close();
}catch(Exception e ){
e.printStackTrace();
}
db.close();
return result;
}
Полагаю, contactos
- это имя таблицы.