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