【问题标题】:Sqlite queries inside the constructor are executing twice?构造函数中的 Sqlite 查询执行了两次?
【发布时间】:2017-07-24 10:42:18
【问题描述】:

我需要使用 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);
        });}

我的开发环境- Nativescript 与 angular2 IDE - Visual Studio 代码

-提前致谢。

【问题讨论】:

    标签: sqlite angular2-nativescript


    【解决方案1】:

    您可能会在多个位置注入此组件 - 可能是在应用程序生命周期的早期(可能是 app.module.ts?)。我会首先检查 constructor 是否被调用了两次。如果是,您的组件将被实例化两次。

    【讨论】:

      猜你喜欢
      • 2016-10-02
      • 1970-01-01
      • 2019-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-09
      • 1970-01-01
      • 2019-12-02
      相关资源
      最近更新 更多