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 get()
de l'interface IDBObjectStore
fait une requête
pour renvoyer la valeur d'un enregistrement du magasin d'objet relié
.
undefined
) sera renvoyée.undefined
) ou s'ils n'y as pas de correspondance par cette méthode. On peut utulisé la methode getAllKeys pour retrouvé la ou les clés du ou des enregistrements qui n'ont pas de valeur défini (valeur = undefined
).Syntaxe
var request = objectStore.get(cle);
Paramètre
cle
- la clé ou l'
intervalle de clé
de l'enregistrement dont on cherche la valeur.
Renvoie
- Une
requête
- La propriété
result
de cette requête renvoie en cas de succès, un clone structuré de la valeur de l'enregistrement correspondant à la clé ou du premier correspondant à l'intervalle de clé.
Exceptions
TransactionInactiveError
- Cette
exception
est levé si latransaction
dont dépend cetaccès
au magasin d'objet est inactive. DataError
- Cette
exception
est levé si la clé ou l'intervalle de clé
est invalide. InvalidStateError
- Cette
exception
est levé si le magasin d'objet à été supprimé.
Exemple
Dans le code suivant , on ouvre une transaction
sur la connexion
à la base de données, pour avoir l'accès
au magasin d'objet dans lequel on veut retrouver la valeur d'un enregistrement.
La méthode get()
sert à retrouver la valeur de l'enregistrement dont la clé est Walk dog
dans magasin d'objets 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() { note.innerHTML += '<li>Database initialised.</li>'; // enregistre 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() { 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() { note.innerHTML += '<li>Échec de la transaction: ' + transaction.error + ' la base de données n\'a pas été modifié</li>'; }; // ouvre un accès au magasin d'objet toDoList var objectStore = transaction.objectStore("toDoList"); // Retrouve l'enregistrement dont la clé est Walk dog var objectStoreRequest = objectStore.get("Walk dog"); objectStoreRequest.onsuccess = function() { //Affiche le succès de la requête note.innerHTML += '<li>Enregistrement retrouvé.</li>'; //affecte la valeur de l'enregistrement à la variable var myRecord = objectStoreRequest.result; }; };
Pour un exemple de travail complet, voir notre To-do Notifications app (view example live).
Spécifications
Spécification | Statut | Commentaire |
---|---|---|
Indexed Database API La définition de 'get()' 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) | ? |