La propriété transaction
de l'interface IDBObjectStore
renvoie la transaction
à laquelle l'accès
du magasin d'objet appartient.
Note : Cette fonctionnalité est disponible via les Web Workers.
Syntaxe
var myTransaction = objectStore.transaction;
Valeur
Une transaction
.
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 avoir un accès
au magasin d'objet "toDoList"
dans lequel on ajoute
un enregistrement.
La propriété transaction
affiche la transaction à laquelle l'accès du magasin d'objet appartient.
//Connexion à la base de données
var DBOpenRequest = window.indexedDB.open("toDoList", 4);
DBOpenRequest.onsuccess = function(event) {
note.innerHTML += '<li>Connexion établie.</li>';
//Affecte la connexion à la variable db.
db = DBOpenRequest.result;
// Exécutez la fonction addData () pour ajouter un enregistrement au magasin d'objet
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>L\'erreur: "' + transaction.error +'" c\'est produite échec de la transaction.</li>';
};
// ouvre l'accès au un magasin "toDoList" de la transaction
var objectStore = transaction.objectStore("toDoList");
//->Affiche la transaction de l'accès du magasin d'objet
console.log(objectStore.transaction);
// 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>';
};
};
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 'transaction' dans cette spécification. |
Recommendation |
Compatibilité avec les navigateurs
Nous convertissons les données de compatibilité dans un format JSON.
Ce tableau de compatibilité utilise encore l'ancien format
car nous n'avons pas encore converti les données qu'il contient.
Vous pouvez nous aider en contribuant !
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) | ? |