Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengemas kini Baris Tertentu dalam Pangkalan Data Android SQLite Menggunakan `execSQL()` atau `update()`?

Bagaimana untuk Mengemas kini Baris Tertentu dalam Pangkalan Data Android SQLite Menggunakan `execSQL()` atau `update()`?

Patricia Arquette
Patricia Arquetteasal
2025-01-12 16:50:43349semak imbas

How to Update a Specific Row in an Android SQLite Database Using `execSQL()` or `update()`?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn