IDBObjectStore.transaction

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écifications

Spécification Statut Commentaire
Indexed Database API 2.0
La définition de 'transaction' dans cette spécification.
Recommendation  

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi