91 votes

Android SQLite : Mise à jour de la déclaration

J'ai besoin d'implémenter SQLite dans mon application. J'ai suivi ce tutoriel : Création et utilisation de bases de données dans Android one

Tout fonctionne bien. J'ai inséré une ligne avec 5 colonnes. Maintenant je veux mettre à jour la valeur d'une seule colonne et les autres resteront les mêmes.

Il existe une méthode de mise à jour dans le tutoriel qui nécessite tous les paramètres, mais je ne veux mettre à jour qu'une seule colonne.

0 votes

L'URL demandé /index.php/articlesdatastorage/235-creating-and-using-databases-in-Android-one n'a pas été trouvé sur ce serveur.

1voto

L'objet SQLiteDatabase dépend du type d'opération sur la base de données.

Pour plus d'informations, visitez le site officiel :

https://developer.Android.com/training/basics/data-storage/databases.html#UpdateDbRow

Il explique comment manipuler les consultations sur la base de données SQLite.

INSERER UNE RANGÉE

Obtient le référentiel de données en mode écriture

SQLiteDatabase db = mDbHelper.getWritableDatabase();

Créez une nouvelle carte de valeurs, où les noms des colonnes sont les clés.

ContentValues values = new ContentValues();
values.put(FeedEntry.COLUMN_NAME_ENTRY_ID, id);
values.put(FeedEntry.COLUMN_NAME_TITLE, title);
values.put(FeedEntry.COLUMN_NAME_CONTENT, content);

Insérer la nouvelle ligne, en retournant la valeur de la clé primaire de la nouvelle ligne.

long newRowId;
newRowId = db.insert(
     FeedEntry.TABLE_NAME,
     FeedEntry.COLUMN_NAME_NULLABLE,
     values);

MISE À JOUR DE LA RANGÉE

Définissez la partie "où" de la requête.

String selection = FeedEntry.COLUMN_NAME_ENTRY_ID + " LIKE ?";

Spécifiez les arguments dans l'ordre des caractères de remplacement.

String[] selectionArgs = { String.valueOf(rowId) };

SQLiteDatabase db = mDbHelper.getReadableDatabase();

Nouvelle valeur pour une colonne

ContentValues values = new ContentValues();
values.put(FeedEntry.COLUMN_NAME_TITLE, title);

Quelle ligne mettre à jour, en fonction de l'ID

String selection = FeedEntry.COLUMN_NAME_ENTRY_ID + " LIKE ?";
String[] selectionArgs = { String.valueOf(rowId) };
    int count = db.update(
    FeedReaderDbHelper.FeedEntry.TABLE_NAME,
    values,
    selection,
    selectionArgs);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X