首頁 >資料庫 >mysql教程 >如何使用 `execSQL()` 或 `update()` 更新 Android SQLite 資料庫中的特定行?

如何使用 `execSQL()` 或 `update()` 更新 Android SQLite 資料庫中的特定行?

Patricia Arquette
Patricia Arquette原創
2025-01-12 16:50:43331瀏覽

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

修改 Android SQLite 資料庫中的單一記錄

Android 提供了兩種更新特定資料庫行的主要方法:execSQL()update()。 最佳選擇取決於更新操作的複雜性。

要使用 update() 方法更新多個字段,請先建構一個 ContentValues 物件來保存新值:

<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>

接下來,使用update()方法執行更新。 這需要表名、ContentValues 物件和 WHERE 子句來精確定位目標行:

<code class="language-java">myDB.update(TableName, values, "_id = ?", new String[]{id});</code>

這裡,「_id = ?」用作 WHERE 子句,其中 id 表示要修改的行的主鍵。這 」? 」充當 id 值的佔位符,防止 SQL 注入漏洞。

對於更複雜的 SQL 更新,execSQL() 提供了直接路由:

<code class="language-java">myDB.execSQL("UPDATE " + TableName + " SET Field1 = 'Bob', Field2 = 19, Field3 = 'Male' WHERE _id = 1");</code>

此方法直接執行自訂 SQL 語句。 但是,請謹慎操作,因為與 update() 方法相比,它更容易受到 SQL 注入攻擊。 僅在必要時使用 execSQL(),以進行超出 update() 能力的更新。

以上是如何使用 `execSQL()` 或 `update()` 更新 Android SQLite 資料庫中的特定行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn