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 propriété db
de l'interface IDBTransaction
renvoie la connexion
à la base de donnée associée à la transaction
.
Syntaxe
var myDatabase = transaction.db;
Valeur
Une connexion
à la base de données.
Exemple
Dans le code suivant, on ouvre une connexion
à la base de donnée. Sur cette connexion on démarre une transaction
en lecture/écriture pour accéder au magasin d'objet
"toDoList" et y ajouter
un enregistrement. Notez également les gestionnaires d'événements oncomplete
et onerror
de la transaction qui affiche sur la page le résultat de la transaction.
La méthode db
sert À la fin à renvoyer la connexion à la base de données associée à la transaction.
//Connexion à la base de données var DBOpenRequest = window.indexedDB.open("toDoList", 4); DBOpenRequest.onsuccess = function(event) { note.innerHTML += 'Connexion établie.'; //Affecte la connexion à la variable db. db = DBOpenRequest.result; // Exécutez la fonction addData () pour emmagasiné les données dans la base addData(); }; function addData() { //Un nouvel objet prêt à être emmagasiné newItem = [ { taskTitle: "Walk dog", hours: 19, minutes: 30, day: 24, month: "December", year: 2013, notified: "no" } ]; // ouvre une transaction de lecture / écriture prête au traitement des données sur la connexion var transaction = db.transaction(["toDoList"], "readwrite"); // en cas de succès de l'ouverture de la transaction transaction.oncomplete = function(event) { note.innerHTML += '<li>Transaction complété : modification de la base de données terminée.</li>'; }; // en cas d'échec de l'ouverture de la transaction transaction.onerror = function(event) { note.innerHTML += '<li>Erreur transaction non ouverte. Duplicate items not allowed.</li>'; }; // ouvre l'accès au un magasin "toDoList" de la transaction var objectStore = transaction.objectStore("toDoList"); // Ajoute un enregistrement var objectStoreRequest = objectStore.add(newItem[0]); objectStoreRequest.onsuccess = function(event) { // signale l'ajout de l'enregistrement note.innerHTML += '<li>Enregistrement ajouté.</li>'; }; //renvoie la connexion à la base de donnée associée à cette transaction. transaction.db; };
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 'db' 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 |
Dispnible dans workers | (Oui) | 37.0 (37.0) | (Oui) | ? | (Oui) | ? |