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

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

Patricia Arquette
發布: 2025-01-12 16:50:43
原創
338 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板