Hey,
ich setze mich gerade mit Indexed DB auseinander und habe unzählige Tutorials mir durchgelesen und mitgemacht - bisher funktionieren diese bei mir jedoch nicht obwohl der Code im Gesamtpaket das gleiche macht.
Die letzte Tutorialseite war https://www.tutorialspoint.com/html5/html5_indexeddb.htm
Bei meinem Code wird die onupgradeneeded Funktion nicht ausgeführt - obwohl diese eigentlich ausgeführt werden sollte nachdem die Datenbankverbindung erfolgreich aufgebaut wurde - wie ich der Doku entnehmen kann.
Hat jemand eine Idee warum diese nicht aufgerufen wird?
Dies ist mein Code:
JavaScript
"use strict";
if(!window.indexedDB){
console.log("Dieser Browser supportet indexedDB nicht!");
}
let id = 1;
let newData = { creator: "Laura", date: new Date().getTime()};
let data = [
{ creator: "Hans", date: new Date().getTime() },
{ creator: "Lukas", date: new Date().getTime() },
{ creator: "Stef", date: new Date().getTime() }
];
let db;
let request = window.indexedDB.open("Meetings", 1);
request.onerror = function(event){
console.log("Error bei dem Verbindungsaufbau aufgetreten");
};
request.onsuccess = function(event){
db = request.result;
console.log("Datenbankverbindung wurde erfolgreich hergestellt");
};
request.onupgradeneeded = function(event){
let db = event.target.result;
let objectStore = db.createObjectStore("meetingData", {keyPath: "id", autoIncrement: true});
for( let i in data){
objectStore.add(data[i]);
}
};
// Adding Data to Database
function add(data){
let request = db.transaction(["meetingData"], "readwrite")
.objectStore("meetingData")
.add(data)
request.onsuccess = function(event){
console.log("Die Daten wurden zur Datenbank hinzugefügt");
};
request.onerror = function(event){
console.log("Daten konnten nicht hinzugefügt werden");
};
}
// Retrieving the Data (Abrufen)
function read(id){
let transaction = db.transaction(["meetingData"], "readonly");
let objectStore = transaction.objectStore("meetingData");
let request = objectStore.get(id);
request.onerror = function(event){
console.log("Daten mit ID " + id + " können nicht abgerufen werden");
};
request.onsuccess = function(event){
if(request.result){
console.log("ID: " + request.result.id + "Creator: " + request.result.creator + ", Date: " + request.result.date);
} else{
console.log("Creator wurde nicht gefunden!");
}
};
}
// Removing Data from Database
function remove(id){
let request = db.transaction(["meetingData"], "readwrite")
.objectStore("meetingData")
.delete(id);
request.onsuccess = function(event){
console.log("Eintrag mit ID " + id + " wurde erfolgreich gelöscht");
};
}
Alles anzeigen