gpt4 book ai didi

sqlite - ionic Sqlite 不在 chrome 上运行

转载 作者:行者123 更新时间:2023-12-03 15:09:14 27 4
gpt4 key购买 nike

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { SQLite, SQLiteObject } from '@ionic-native/sqlite';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
username='name';
items = [];
constructor(public navCtrl: NavController, private sqlite: SQLite) {

}

save()
{
alert();
this.sqlite.create({
name: 'data.db',
location: 'default'
})
.then((db: SQLiteObject) => {

//data insert section
db.executeSql('CREATE TABLE IF NOT EXISTS usernameList(id INTEGER PRIMARY KEY AUTOINCREMENT,name)', {})
.then(() => alert('Executed SQL'))
.catch(e => console.log(e));

//data insert section
db.executeSql('INSERT INTO usernameList(name) VALUES(?)', [this.username])
.then(() => alert('Executed SQL'))
.catch(e => console.log(e));

//data retrieve section
db.executeSql('select * from usernameList', {}).then((data) => {
alert(JSON.stringify(data));

//alert(data.rows.length);
//alert(data.rows.item(5).name);
this.items = [];
if(data.rows.length > 0) {
for(var i = 0; i < data.rows.length; i++) {
//alert(data.rows.item(i).name);�
this.items.push({name: data.rows.item(i).name});
}
}

}, (err) => {
alert('Unable to execute sql: '+JSON.stringify(err));
});
})
.catch(e => alert(JSON.stringify(e)));
}
}

为什么我无法在 broswe 上测试我的代码

我什至尝试使用 ionic Cordova 运行浏览器

这是我的控制台错误

OPEN database: data.db cordova.js:1003 Error: exec proxy not found for :: SQLitePlugin :: close cordova.js:1003 Error: exec proxy not found for :: SQLitePlugin :: open plugins/cordova-sqlite-storage/www/SQLitePlugin.js:196 OPEN database: data.db FAILED, aborting any pending transactions plugins/cordova-sqlite-storage/www/SQLitePlugin.js:174 OPEN database: data.db cordova.js:1003 Error: exec proxy not found for :: SQLitePlugin :: close cordova.js:1003 Error: exec proxy not found for :: SQLitePlugin :: open plugins/cordova-sqlite-storage/www/SQLitePlugin.js:196 OPEN database: data.db FAILED, aborting any pending transactions

最佳答案

SQLite 不适用于 Ionic 应用程序的非“原生”构建:
https://ionicframework.com/docs/native/sqlite/ - 查看那里列出的平台,并且没有“浏览器”作为支持的平台。

要对其进行测试,您应该通过以下方式在设备上运行您的应用程序:
ionic Cordova 运行android

根据您的用例和您对本地持久性的要求,有时使用 ionic 存储是有意义的:https://ionicframework.com/docs/storage/它可以使用 sqlite 并且可以“回退”/使用浏览器支持的另一种类型的持久性(websql、indexeddb)。在这种情况下,您可以使用“ionic serve”在浏览器中开发和测试您的应用程序,然后验证它在真实设备上是否也能正常工作。

关于sqlite - ionic Sqlite 不在 chrome 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50700800/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com