我使用sqlite3
创建了一个简单的数据库并在我的设备上运行。我可以通过SELECT
查询表格,并在chrome inspect
上设置控制权。但是,我无法在应用程序选项卡下查看在Web sql上创建的表。
以下是创建表格的代码:
this.sqlite.create({
name: 'particulars.db',
location: 'default'
}).then((db: SQLiteObject) => {
this.db = db;
db.executeSql('CREATE TABLE IF NOT EXISTS info(rowid INTEGER PRIMARY KEY, name TEXT, age INT)', {})
.then(res => console.log('Executed SQL'))
.catch(e => console.log(e));
})
有什么想法吗?
Online说我应该提取他的db文件,然后在db编译器上运行它。我提取的文件不是db文件。
答案 0 :(得分:0)
您应该从SQLLite到WebSQL的数据库回退:
import { Injectable } from '';
import { SQLite } from 'ionic-native';
import { Platform } from 'ionic-angular';
const DB_NAME: string = 'particulars.db';
const win: any = window;
@Injectable()
export class StorageService {
private _db: any;
constructor(private platform: Platform) {
if (this.platform.is('cordova')) {
this._db = new SQLite();
this._db.openDatabase({
name: DB_NAME,
location: 'default' // the location field is required
}).then(() => {
this._tryInit();
});
} else {
console.warn('Storage: SQLite plugin not installed, falling back to WebSQL. Make sure to install cordova-sqlite-storage in production!');
this._db = win.openDatabase(DB_NAME, '1.0', 'database', 5 * 1024 * 1024);
this._tryInit();
}
_tryInit() {
//do query here
}
}
请参阅https://gist.github.com/NickStemerdink/64c782807fc31b7bc9b529ad4b1d56d5。