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