Cet article nécessite une relecture technique. Voici comment vous pouvez aider.
Cet article nécessite une relecture rédactionnelle. Voici comment vous pouvez aider.
La méthode delete()
de l'interface IDBObjectStore
interface fait une requête
de suppression d'enregistrement(s) du magasin d'objet relié
.
Syntaxe
var request = objectStore.delete(cle);
Paramètre
cle
- La clé ou l'
intervalle
de clé d'enregistrement(s) à supprimer.
Renvoie
Exceptions
TransactionInactiveError
- Cette
exeception
est levé si latransaction
est inactive. ReadOnlyError
- Cette
exeception
est levé si latransaction
est enmode
lecture seule. InvalidStateError
- Cette
exeception
est levé si le magasin d'objet a été supprimé. DataError
- Cette
exeception
est levé si la clé ou l'intervalle de clé
n'est pas valide.
Exemple
Dans le code suivant , on ouvre un transaction
sur la connexion
à la base de données pour avoir l'accès
au magasin d'objet duquel on veut supprimer un enregistrement.
La méthode delete()
sert à supprimer l’enregistrement dont la clé est Walk dog
du magasin d'objet toDoList
// ouvre la connexion à la base de données var DBOpenRequest = window.indexedDB.open("toDoList", 4); // Gère l'ouverture de la connexion DBOpenRequest.onsuccess = function(event) { note.innerHTML += '<li>Base de donnée initialisé</li>'; // affecte la connexion dans la variable db db = DBOpenRequest.result; // exécute la fonction deleteData() deleteData(); }; function deleteData() { // ouvre un transaction en mode lecture/écriture pour effectuer la suppression var transaction = db.transaction(["toDoList"], "readwrite"); // affiche le succès de la transaction. transaction.oncomplete = function(event) { note.innerHTML += '<li>Transaction effectuée: fin de la modification de la base de données.</li>'; }; // affiche la cause de l’échec de la transaction. transaction.onerror = function(event) { note.innerHTML += '<li>Échec de la transaction: ' + transaction.error + ' la base de donnée n\'a pas été modifié</li>'; }; // ouvre un accès au magasin d'objet toDoList var objectStore = transaction.objectStore("toDoList"); // supprime l'enregistrement dont la clé est Walk dog var objectStoreRequest = objectStore.delete("Walk dog"); objectStoreRequest.onsuccess = function(event) { // affiche le succès de la suppression note.innerHTML += '<li>Enregistrement supprimé.</li>'; }; };
Pour un exemple de travail complet, voir notre To-do Notifications app (view example live).
Spécification
Spécification | Statut | Commentaire |
---|---|---|
Indexed Database API La définition de 'delete()' dans cette spécification. |
Recommendation |
Compatibilité avec les navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Support basique | 23webkit 24 |
10 moz 16.0 (16.0) |
10, en partie | 15 | 7.1 |
Disponible dans workers | (Oui) | 37.0 (37.0) | ? | (Oui) | ? |
Fonctionnalité | Android | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support basique | 4.4 | 22.0 (22.0) | 1.0.1 | 10 | 22 | 8 |
Disponible dans workers | (Oui) | 37.0 (37.0) | (Oui) | ? | (Oui) | ? |