sqlbatch执行时的Sqlite异常

问题描述 投票:0回答:1

我正在我的离子应用程序中集成SQLite。执行代码时遇到以下错误。

错误:未捕获(在承诺中):错误:没有错误处理程序的语句失败:sqlite3_prepare_v2失败:输入不完整错误:没有错误处理程序的语句失败:sqlite3_prepare_v2失败:输入不完整

我的代码如下。

createEncryptedDB() {
    this.platform.ready().then(() => {
      this.sqlite.create({
        name: 'sampleDb',
        location: 'default',
        key: 'mypassword'
      }).then((sqlObject: SQLiteObject) => {
        this.db = sqlObject;
        const tableList: any = [];
        tableList.push(['CREATE TABLE IF NOT EXISTS TEST_DATA(kty text, kty_type varchar(30)']);
        this.queryAll(tableList).then(() => { 
           console.log("Tables were created")
         }).catch((ex) => {
            return Promise.reject(ex);
          });
        });
    });
  }

  public queryAll(list: any[]): Promise<any> {
    return new Promise((resolve, reject) => {
      try {
        this.platform.ready().then(() => {
          resolve();
          return this.db.sqlBatch(list);         
        });
      } catch (err) {
        reject({ err: err });
      }
    });

请注意,我们正在加密数据库。任何人都知道如何解决这个问题吗?

angular sqlite ionic2 android-sqlite
1个回答
0
投票

CREATE TABLE命令中存在语法错误。它错过了最后的结束)。这可能不是代码中唯一的错误,但它解释了这个特定的失败。

© www.soinside.com 2019 - 2024. All rights reserved.