Ändern eines einzelnen Datensatzes in einer Android SQLite-Datenbank
Android bietet zwei Hauptansätze zum Aktualisieren bestimmter Datenbankzeilen: execSQL()
und update()
. Die beste Wahl hängt von der Komplexität Ihres Aktualisierungsvorgangs ab.
Um mehrere Felder mit der Methode update()
zu aktualisieren, erstellen Sie zunächst ein ContentValues
-Objekt, das die neuen Werte enthält:
<code class="language-java">ContentValues values = new ContentValues(); values.put("Field1", "Bob"); // String value values.put("Field2", 19); // Integer value values.put("Field3", "Male"); // String value</code>
Führen Sie als Nächstes das Update mit der Methode update()
aus. Dazu sind der Tabellenname, das ContentValues
-Objekt und eine WHERE
-Klausel erforderlich, um die Zielzeile zu bestimmen:
<code class="language-java">myDB.update(TableName, values, "_id = ?", new String[]{id});</code>
Hier: „_id = ?“ dient als WHERE
-Klausel, wobei id
den Primärschlüssel der zu ändernden Zeile darstellt. Der "?" fungiert als Platzhalter für den id
-Wert und verhindert SQL-Injection-Schwachstellen.
Für komplexere SQL-Updates bietet execSQL()
einen direkten Weg:
<code class="language-java">myDB.execSQL("UPDATE " + TableName + " SET Field1 = 'Bob', Field2 = 19, Field3 = 'Male' WHERE _id = 1");</code>
Dieser Ansatz führt direkt eine benutzerdefinierte SQL-Anweisung aus. Seien Sie jedoch vorsichtig, da sie im Vergleich zur update()
-Methode anfälliger für SQL-Injection-Angriffe ist. Verwenden Sie execSQL()
nur bei Bedarf für Aktualisierungen, die über die Möglichkeiten von update()
hinausgehen.
Das obige ist der detaillierte Inhalt vonWie aktualisiere ich eine bestimmte Zeile in einer Android SQLite-Datenbank mit „execSQL()' oder „update()'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!