首页 >数据库 >mysql教程 >如何使用 `execSQL()` 或 `update()` 更新 Android SQLite 数据库中的特定行?

如何使用 `execSQL()` 或 `update()` 更新 Android SQLite 数据库中的特定行?

Patricia Arquette
Patricia Arquette原创
2025-01-12 16:50:43334浏览

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