我正在我的离子应用程序中集成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
命令中存在语法错误。它错过了最后的结束)
。这可能不是代码中唯一的错误,但它解释了这个特定的失败。