如何将数据传递到SQLite数据库
您好:)我对编程非常陌生,最近我启动了一个IONIC应用程序。但是我被卡住了。我想做一些类似于电话簿的事情,在这里您可以获得随机的JSON联系人,并将他们保存到您的sqlite数据库中 我明白了:如何将数据传递到SQLite数据库,sqlite,angular,typescript,ionic-framework,Sqlite,Angular,Typescript,Ionic Framework,您好:)我对编程非常陌生,最近我启动了一个IONIC应用程序。但是我被卡住了。我想做一些类似于电话簿的事情,在这里您可以获得随机的JSON联系人,并将他们保存到您的sqlite数据库中 我明白了: import { Storage ] from '@ionic/storage'; @component({ selector: 'page-home' templateUrl: 'home.html' }); export class HomePage {
import { Storage ] from '@ionic/storage';
@component({
selector: 'page-home'
templateUrl: 'home.html'
});
export class HomePage {
posts: any;
persons: any;
constructor(public navCtrl: NavController, public http: Http, public storage: Storage) {
this.http.get('https://jsonplaceholder.typicode.com/users').map(res=> res.json()).subscribe(data => {
this.posts = data;
});
}
//here i would like to recieve the data from the tapped Item
setData(){
console.log();
this.storage.set('myData', this.posts);
console.log(this.posts);
};
getData(){
this.storage.get('myData').then((data) => {
if (data !=null){
console.log(data);
}
})
};
}
以下是视图:
当我单击/点击save按钮时,我希望将这些值存储在我的sqlite数据库中,并在我的“本地联系人”中显示它们
{{post.name}
{{post.username},{{{post.email}
电话:{{post.phone}
设置数据
也许有人遇到过类似的问题,可以帮我解决这个问题。
谢谢:)使用Ionic处理持久存储的最佳方法是使用 Ionic Storage是由Ionic团队创建和维护的一个包,用于从每个浏览器或平台的具体情况中提取开发内容,并自动使用可用的最佳存储解决方案
1.安装依赖项 对于SQLite,首先需要安装Angular和Cordova的依赖项:
npm安装@ionic/storage——保存
及
cordova插件添加cordova sqlite存储——保存
然后在src/app/app.module.ts
中编辑NgModule声明,将IonicStorageModule
添加为导入:
从'@ionic/storage'导入{IonicStorageModule};
@NGD模块({
声明:[……],
进口:[
IonicModule.forRoot(MyApp),
IonicStorageModule.forRoot({
名称:''\u mydb',
driverOrder:['indexeddb','sqlite','websql'],
})
],
引导:[…],
入口组件:[……],
提供者:[……],
})
导出类AppModule{}
2.将存储注入组件
3.在SQLite中存储数据 无论何时访问存储,请确保始终将代码包装为以下内容:
storage.ready().then(() => { /* code here safely */});
3.1保存键值对
3.2检索值
3.3删除键值对
谢谢你的回答:)这很有帮助,但并不完全是我想要的。也许我的描述太不准确了。我把所有的步骤都减到了3。问题是,我不知道如何访问抽头项的数据。当我点击单个联系人时,我希望将此特定联系人的对象发送到saveContact()函数。很抱歉,您的问题有点误导,也许您应该修改OP,以便更好地向未来的读者传达您的问题。现在,为了将特定的contact对象传递到setData()函数中,只需将代码更改为以下
Set Data
。post
已在*ngFor中定义,因此您可以将其用作函数调用的参数。如果这回答了你的问题,请投票支持评论和原始答案。是的,这就是我想要的答案。非常感谢你。由于某种原因,我不能对你的评论和答案投反对票,因为我没有足够的声誉。当我获得15个声誉时,我会这么做;)很高兴我能帮忙,巴德
import { Component } from '@angular/core';
import { Storage } from '@ionic/storage';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
constructor(public storage: Storage) {}
}
storage.ready().then(() => { /* code here safely */});
storage.ready().then(() => {
storage.set('some key', 'some value');
});
storage.ready().then(() => {
storage.get('age').then((val: string) => {
console.log('Your age is', val);
});
});
storage.ready().then(() => {
storage.remove('key').then((key: string) => { /* do something after deletion */})
});