wenn alle Datensätze der Tabelle gelöscht werden müssen und ersetzt, schlage ich auf diese Weise:
db.delete(TABLE_NAME, null, null);
können Sie auch einen löschen bestimmten Datensatz mit diesem Code des finde diesen Datensatz mit seiner ID:
private void deleteDashboard(int id) {
SQLiteDatabase db = this.getWritableDatabase();
String where = "id = ?";
String[] whereArgs = new String[]{id + ""};
try {
db.delete(DashBoardModel.DashBoardTable, where, whereArgs);
} catch (Exception e) {
e.printStackTrace();
}
}
Auf der anderen Seite, nach Ihrer que lierte, ich glaube, Sie sind Aufzeichnungen von Server empfangen eins nach dem anderen mit neuen Daten zu aktualisieren, die auf diese Weise könnte Ihnen helfen:
ContentValues cv = new ContentValues();
cv.put("field_name", value);
db.update(DashBoardModel.DashBoardTable, cv,
where, whereArgs);
By the way, ich hoffe, Ihre Tabelle hat einen Primärschlüssel und Sie können verwenden where-Klausel zum Auffinden des exakten Datensatzes. (Auch zum Löschen oder Aktualisieren)
Schließlich empfehle ich Ihnen für Android wie Realm verfügbar neue ORM zu verwenden, von DBFlow all diese Probleme zu vermeiden. ;)
db.execSQL ("Löschen von" + TABLE_NAME); –
db.delete (TABLE_NAME, null, null); –
Was macht die Select-Anweisung? Sie verwenden eine WHERE-Klausel, aber was ist die Bedingung und sind Sie sicher, dass Sie Ergebnisse von dieser Abfrage erhalten? –