ホームページ >データベース >mysql チュートリアル >「execSQL()」または「update()」を使用して Android SQLite データベースの特定の行を更新する方法

「execSQL()」または「update()」を使用して Android SQLite データベースの特定の行を更新する方法

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-12 16:50:43333ブラウズ

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

Android SQLite データベース内の単一レコードの変更

Android では、特定のデータベース行を更新するために、execSQL()update() という 2 つの主な方法を提供しています。 最適な選択は、更新操作の複雑さによって異なります。

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。