我目前正尝试在我的ionic项目中使用SQLITE创建多个表,但是这种格式似乎不起作用;有没有人知道如何在一个ionic项目中用SQLITE创建多个表?非常感谢
databaseConn() {
this.platform.ready().then(() => {
this.sqlite.create({
name: this.db_name,
location: 'default'
}).then((sqLite: SQLiteObject) => {
this.dbInstance = sqLite;
sqLite.executeSql(`
CREATE TABLE IF NOT EXISTS ${this.db_table} (
product_id INTEGER PRIMARY KEY,
product_name varchar(255),
product_price varchar(255)
)`, [])
.then((res) => {
// alert(JSON.stringify(res));
})
.catch((error) => alert(JSON.stringify(error)));
})
.catch((error) => alert(JSON.stringify(error)));
});
this.platform.ready().then(() => {
this.sqlite.create({
name: this.db_name,
location: 'default'
}).then((sqLite: SQLiteObject) => {
this.dbInstance = sqLite;
sqLite.executeSql(`
CREATE TABLE IF NOT EXISTS ${this.db_table2} (
customer_id INTEGER PRIMARY KEY,
customer_name varchar(255)
)`, [])
.then((res) => {
// alert(JSON.stringify(res));
})
.catch((error) => alert(JSON.stringify(error)));
})
.catch((error) => alert(JSON.stringify(error)));
});
}
1条答案
按热度按时间8ehkhllq1#
这个.platform.ready钩子在你的设备准备好后只会触发一次。
ready()=〉承诺
当平台就绪并且可以调用本机功能时返回承诺。如果应用程序从Web浏览器中运行,则承诺将在DOM就绪时解析。如果应用程序从应用程序引擎(如Cordova)运行,则承诺将在Cordova触发deviceready事件时解析。解析的值为readySource,它说明所使用的平台。
例如,当Cordova就绪时,解析的就绪源是cordova。默认就绪源值将是dom。如果根据应用运行的平台运行不同的逻辑,readySource很有用。例如,只有Capacitor和Cordova可以执行状态栏插件,因此Web不应运行状态栏插件逻辑。
deviceready事件在Cordova完全加载后触发。一旦事件触发,您可以安全地调用Cordova API。应用程序通常在HTML文档的DOM加载后使用document.addEventListener附加事件侦听器。