Mettre à jour une ligne spécifique dans la base de données SQLite d'Android
Comme vous l'avez mentionné dans votre question, il existe deux manières principales de mettre à jour une ligne spécifique dans SQLite : execSQL()
et update()
. Clarifions la syntaxe de la méthode update()
:
update(String table, ContentValues values, String whereClause, String[] whereArgs)
table
: Le nom de la table à mettre à jour. values
: Un objet ContentValues
contenant la valeur à mettre à jour. whereClause
: Une clause SQL WHERE qui précise les conditions de mise à jour. whereArgs
: Un tableau de chaînes contenant les paramètres de la clause WHERE. L'erreur que vous obtenez semble être due au fait qu'aucun objet ContentValues
n'a été créé pour spécifier la valeur à mettre à jour. Vous devez d'abord créer un objet ContentValues
, le remplir avec les valeurs requises à l'aide de la méthode put
, puis l'utiliser dans la méthode update()
.
Par exemple, si vous avez une table nommée "ExampleTable" avec les colonnes suivantes :
Pour mettre à jour la première ligne en "Bob", 19 ans et "Homme", vous pouvez procéder comme suit :
ContentValues cv = new ContentValues(); cv.put("Field1", "Bob"); cv.put("Field2", 19); cv.put("Field3", "Male"); myDB.update("ExampleTable", cv, "_id = ?", new String[]{"1"});
Cela mettra à jour la première ligne avec le champ _id
égal à "1" avec la valeur spécifiée.
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!