Этот код удаляет только одну запись в моей таблице, чего я хочу достичь, удалите все записи, которые имеют заданное значение телефонного номера. Im новое для SQlite, небольшая помощь очень ценится. Заранее спасибо.SQlite удалить все строки, которые имеют определенное строковое значение
Этот код удаления одной записи Устпешно:
public void delSmsData(int id){
String deleteQuery = "DELETE FROM "+TABLE_LO_SMSDATA+" WHERE _id="+id+"";
SQLiteDatabase db = this.getWritableDatabase();
db.execSQL(deleteQuery); //delete single row by ID in a table
db.execSQL("vacuum");
db.close();
Log.e("Debug", "Successful delete of message with id no. " + id);
}
Я успешно удалил все записи с этим кодом. Спасибо тем, кто помог.
public void delAllSmsByPhone(String phone){
String deleteQuery = "DELETE FROM "+TABLE_LO_SMSDATA+" WHERE _phone='"+phone+"'";
SQLiteDatabase db = this.getWritableDatabase();
db.execSQL(deleteQuery);
db.execSQL("vacuum");
db.close();
}
Это моя Структура таблицы:
String CREATE_LO_SMSDATA_TABLE = "CREATE TABLE "
+TABLE_LO_SMSDATA+"("
+KEY_ID+" INTEGER PRIMARY KEY AUTOINCREMENT,"
+KEY_EMAIL+" TEXT,"
+KEY_TARGETNAME+" TEXT,"
+KEY_SMSTYPE+" TEXT,"
+KEY_PHONE+" TEXT,"
+KEY_CONTACTNAME+" TEXT,"
+KEY_SMSBODY+" TEXT,"
+KEY_DATE+" TEXT"+")";
db.execSQL(CREATE_LO_SMSDATA_TABLE);
что ваша структура таблицы? Является ли '_phone' основным ключом? –
@AdamForbis я обновил вопрос. – Draeko
'... WHERE _phone = '" + phone + "'" ' –