【发布时间】:2019-02-14 03:06:42
【问题描述】:
我正在尝试使用 Ionic 创建一个简单的 Android 应用程序。我想在SQL Lite and Ionic 和Ionic and Cordova from browser 上的一些文章的帮助下使用SQL Lite 数据库。我设法在this.initializeApp() 之后使用 app.components.ts 中使用的以下代码设置了我的数据库(至少我的应用程序似乎可以运行):
init_db(){
var config = this.sqlite.create({
name: 'data.db',
location: 'default'
})
.then((db: SQLiteObject) =>{
this.db = db;
db.executeSql('CREATE TABLE "ExpenseModel" ( `EXPENSE_LIMIT` INTEGER NOT NULL, `ID` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, `MODEL_NAME` TEXT NOT NULL UNIQUE, `PINNED` INTEGER )');
// .then(() => console.log('Executed'))
// .catch(e=> console.log(e));
});
// .catch(e => console.log(e));
(异常处理被注释掉,只看是否抛出异常)
但是,执行简单的 SQL Lite 插入的以下代码不起作用:
this.db.executeSql('INSERT INTO "ExpenseModel" (EXPENSE_LIMIT, ID, MODEL_NAME, PINNED) VALUES ( 5,1, \'asd\', 1)');
当我使用ionic cordova run browser 运行应用程序时,我得到一个白屏。当我使用ionic serve 运行它并捕获所有异常时(否则即使 db init 也不起作用)我收到错误 Cannot read property 'executeSql' of undefined
我做错了什么?我的插入代码工作in an online editor,所以我不认为它是SQL。
【问题讨论】:
-
究竟是什么不起作用?数据库返回给您的错误是什么?
-
当我使用
ionic cordova run browser运行应用程序时,我得到一个白屏。当我使用ionic serve运行它并捕获所有异常(否则即使 db init 也不起作用)我收到错误 无法读取未定义的属性 'executeSql' 我编辑我的 QS 以包含它。
标签: sqlite typescript cordova visual-studio-code ionic4