我需要使用Nativescript-Sqlite插件在本地数据库中创建多个表。当我尝试时,在构造函数中编写的查询正在执行两次。我发现通过给出每个表创建代码的警报。 我该如何纠正这个问题?
constructor(private page: Page, private userService: UserService) {
this.user = new User();
(new Sqlite("my.db")).then(db => {
database = db;
db.execSQL("CREATE TABLE IF NOT EXISTS people1 (id INTEGER PRIMARY KEY AUTOINCREMENT, firstname TEXT, lastname TEXT)").then(id => {
alert("table1 insertd"); }, error => {
console.log("CREATE TABLES ERROR", error);
});
db.execSQL("CREATE TABLE IF NOT EXISTS people2 (id INTEGER PRIMARY KEY AUTOINCREMENT, firstname TEXT, lastname TEXT)").then(id => {
alert("table2 insertd"); }, error => {
console.log("CREATE TABLE ERROR", error);
});
}, error => {
console.log("OPEN DB ERROR", error);
});}

我的发展环境 - 带有angular2的Nativescript IDE - Visual Studio代码
- 提前谢谢。
答案 0 :(得分:0)
您可以在多个位置注入此组件 - 可能在应用程序生命周期的早期(也许是app.module.ts?)。我首先检查构造函数是否被调用两次。如果是,那么您的组件将被实例化两次。