sqlbatch 执行时的 sqlite 异常



我正在将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 });
}
});

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

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

最新更新