Maison >base de données >tutoriel mysql >Comment mettre à jour une ligne spécifique dans une base de données Android SQLite à l'aide de « execSQL() » ou « update() » ?

Comment mettre à jour une ligne spécifique dans une base de données Android SQLite à l'aide de « execSQL() » ou « update() » ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-12 16:50:43355parcourir

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

Modification d'un seul enregistrement dans une base de données Android SQLite

Android propose deux approches principales pour mettre à jour des lignes de base de données spécifiques : execSQL() et update(). Le meilleur choix dépend de la complexité de votre opération de mise à jour.

Pour mettre à jour plusieurs champs à l'aide de la méthode update(), commencez par construire un objet ContentValues pour contenir les nouvelles valeurs :

<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>

Ensuite, exécutez la mise à jour en utilisant la méthode update(). Cela nécessite le nom de la table, l'objet ContentValues et une clause WHERE pour identifier la ligne cible :

<code class="language-java">myDB.update(TableName, values, "_id = ?", new String[]{id});</code>

Ici, "_id = ?" sert de clause WHERE, avec id représentant la clé primaire de la ligne à modifier. Le "?" agit comme un espace réservé pour la valeur id, empêchant les vulnérabilités d'injection SQL.

Pour des mises à jour SQL plus complexes, execSQL() fournit un itinéraire direct :

<code class="language-java">myDB.execSQL("UPDATE " + TableName + " SET Field1 = 'Bob', Field2 = 19, Field3 = 'Male' WHERE _id = 1");</code>

Cette approche exécute directement une instruction SQL personnalisée. Cependant, soyez prudent, car elle est plus sensible aux attaques par injection SQL que la méthode update(). Utilisez execSQL() uniquement lorsque cela est nécessaire, pour des mises à jour dépassant les capacités de update().

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn