Mengubah suai Rekod Tunggal dalam Pangkalan Data Android SQLite
Android menawarkan dua pendekatan utama untuk mengemas kini baris pangkalan data tertentu: execSQL()
dan update()
. Pilihan terbaik bergantung pada kerumitan operasi kemas kini anda.
Untuk mengemas kini berbilang medan menggunakan kaedah update()
, mulakan dengan membina objek ContentValues
untuk memegang nilai baharu:
<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>
Seterusnya, laksanakan kemas kini menggunakan kaedah update()
. Ini memerlukan nama jadual, objek ContentValues
dan klausa WHERE
untuk menentukan baris sasaran:
<code class="language-java">myDB.update(TableName, values, "_id = ?", new String[]{id});</code>
Di sini, "_id = ?" berfungsi sebagai klausa WHERE
, dengan id
mewakili kunci utama baris untuk diubah suai. "?" bertindak sebagai pemegang tempat untuk nilai id
, menghalang kelemahan suntikan SQL.
Untuk kemas kini SQL yang lebih rumit, execSQL()
menyediakan laluan terus:
<code class="language-java">myDB.execSQL("UPDATE " + TableName + " SET Field1 = 'Bob', Field2 = 19, Field3 = 'Male' WHERE _id = 1");</code>
Pendekatan ini secara langsung melaksanakan pernyataan SQL tersuai. Walau bagaimanapun, berhati-hati, kerana ia lebih terdedah kepada serangan suntikan SQL berbanding kaedah update()
. Gunakan execSQL()
hanya apabila perlu, untuk kemas kini di luar kemampuan update()
.
Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Baris Tertentu dalam Pangkalan Data Android SQLite Menggunakan `execSQL()` atau `update()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!