IDBTransaction.db

La propriété db de l'interface IDBTransaction renvoie la connexion à la base de donnée associée à la transaction.

Note : Cette fonctionnalité est disponible via les Web Workers.

Syntaxe

var myDatabase = transaction.db;

Valeur

Une connexion à la base de données sous la forme d'un objet IDBDatabase.

Exemples

Dans le fragment de 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 affichent sur la page le résultat de la transaction.

À la fin, la méthode db sert à 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.'; 
  
  //Affecter la connexion à la variable db. 
  db = DBOpenRequest.result; 

  // Exécuter la fonction addData () pour emmagasiner
  // 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" } ]; 
  
  // Ouvrir une transaction de lecture / écriture 
  // pour permettre le 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, doublons interdits.</li>'; 
  }; 
  
  // Ouvrir l'accès au un magasin "toDoList" de la transaction
  var objectStore = transaction.objectStore("toDoList"); 
  
  // Ajouter un enregistrement
  var objectStoreRequest = objectStore.add(newItem[0]); 
  objectStoreRequest.onsuccess = function(event) { 
    // Signaler l'ajout de l'enregistrement 
    note.innerHTML += '<li>Enregistrement ajouté.</li>';
  }; 
  // Renvoyer la connexion à la base de donnée 
  //associée à cette transaction.
  transaction.db;
};
 

Note : pour un exemple fonctionnel complet, voir notre application To-do (exemple).

Spécifications

Spécification État Commentaires
Indexed Database API
La définition de 'db' dans cette spécification.
Recommendation  

Compatibilité des navigateurs

Fonctionnalité Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support simple 23webkit
24
(Oui) 10 moz
16.0 (16.0)
10 15 7.1
Disponible dans les workers (Oui) ? 37.0 (37.0) ? (Oui) ?
Fonctionnalité Android Webview Android Edge Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile Chrome pour Android
Support simple 4.4 (Oui) (Oui) 22.0 (22.0) 1.0.1 10 22 8 (Oui)
Disponible dans les workers (Oui) (Oui) ? 37.0 (37.0) (Oui) ? (Oui) ? (Oui)

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight, gadgino
 Dernière mise à jour par : SphinxKnight,