I’m having some issues inserting into an SQLite database if no rows exist. I’ve looked up the query and tried a couple of suggestions I found but none have worked.
The CREATE TABLE IF NOT EXISTS query works fine, but the INSERT OR IGNORE does not. I keep getting an error saying cannot read property ‘executeSql’ of undefined.
This is what I have:
let db = new SQLite();
db.openDatabase({
name: "data.db",
location: "default"
}).then(() => {
db.executeSql("CREATE TABLE IF NOT EXISTS settings (id INTEGER PRIMARY KEY AUTOINCREMENT, alarmPaused BOOLEAN, alarmVibrate BOOLEAN,
alarmRing BOOLEAN, monAlarmOn TEXT, monAlarmOff TEXT, tueAlarmOn TEXT, tueAlarmOff TEXT, wedAlarmOn TEXT, wedAlarmOff TEXT,
thuAlarmOn TEXT, thuAlarmOff TEXT, friAlarmOn TEXT, friAlarmOff TEXT, satAlarmOn TEXT, satAlarmOff TEXT, sunAlarmOn TEXT, sunAlarmOff TEXT)", {}).then((data) => {
console.log("TABLE CREATED: ", data);
}, (error) => {
console.error("Unable to execute sql", error);
})
}, (error) => {
console.error("Unable to open database", error);
});
db.executeSql("INSERT OR IGNORE INTO settings (id, alarmPaused, alarmVibrate, alarmRing, monAlarmOn, monAlarmOff, tueAlarmOn, tueAlarmOff, wedAlarmOn,
wedAlarmOff, thuAlarmOn, thuAlarmOff, friAlarmOn, friAlarmOff, satAlarmOn, satAlarmOff, sunAlarmOn, sunAlarmOff) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", [
...
...
...
])
.then(() => console.log("inserted or ignored"))
.catch(e => console.log("ERROR " + e));
});