博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ionic3学习笔记(六)存储之使用 SQLite
阅读量:3484 次
发布时间:2019-05-19

本文共 2275 字,大约阅读时间需要 7 分钟。

本文为原创文章,转载请标明

目录

  1. 安装
  2. CURD操作

1. 安装

命令行输入

ionic cordova plugin add cordova-sqlite-storagenpm install --save @ionic-native/sqlite

./src/app/app.module.ts 中添加

import {SQLite} from "@ionic-native/sqlite";

provides 中添加

SQLite,

2. CURD操作

user.ts

export class User {  username: string;  password: string;  gender: boolean;  age: number;  intro: string;  email: string;  phone: string;  location: string;  constructor() {  }}

data.ts

import {SQLite, SQLiteObject} from "@ionic-native/sqlite";export class DataProvider {
myAppDatabase: SQLiteObject; constructor(private sqlite: SQLite) { } initDatabase() { this.sqlite.create({ name: 'myApp.db', location: 'default' }).then((database: SQLiteObject) => { database.executeSql('CREATE TABLE IF NOT EXISTS users(email VARCHAR(320) PRIMARY KEY, username VARCHAR(20) NOT NULL, password VARCHAR(30) NOT NULL, gender BOOLEAN, age TINYINT, intro VARCHAR(300), phone CHAR(11), location VARCHAR(100));', {}).then(() => console.log('init database successfully')).catch(e => console.log(e)); this.myAppDatabase = database; }) }}

user-data.ts

import {Injectable} from '@angular/core';import {SQLiteObject} from "@ionic-native/sqlite";import {DataProvider} from "../data/data";import {User} from "./user";@Injectable()export class UserDataProvider {
database: SQLiteObject; constructor(private dataProvider: DataProvider) { this.database = this.dataProvider.myAppDatabase; } insertIntoUserTable(user: User) { this.database.executeSql('INSERT INTO users VALUES (?, ?, ?, NULL, NULL, NULL, NULL, NULL);', [user.email, user.username, user.password]).then(() => console.log('insert into users table successfully')).catch(e => console.log(e)); } queryUserTable() { this.database.executeSql('SELECT * FROM users;', {}).then(() => console.log('query users table successfully')).catch(e => console.log(e)); } updateUserTable(user: User) { this.database.executeSql('UPDATE users SET username=?, password=?, gender=?, age=?, intro=?, phone=?, location=? WHERE email=?;', [user.username, user.password, user.gender, user.age, user.intro, user.phone, user.location, user.email]).then(() => console.log('update users table successfully')).catch(e => console.log(e)); }}

更多可详见

1.
2.

如有不当之处,请予指正,谢谢~

你可能感兴趣的文章
SpringBoot中访问控制层(controller)得不到Json数据
查看>>
react项目报出警告Warning: Cannot update during an existing state transition (such as within `render`).
查看>>
BFC(Block Formatting Context)
查看>>
什么是作用域,什么是闭包,什么是作用域链
查看>>
惰性求值,面向对象
查看>>
lodash源码分析之baseSlice()函数
查看>>
数据结构之列表
查看>>
发布/订阅模式 vs 观察者模式
查看>>
es5中的arguments对象
查看>>
git本地仓库和远程仓库关联,分支重命名
查看>>
js对象的深拷贝,你真的觉得很简单吗?
查看>>
你真的了解map方法吗?手动实现数组map方法。
查看>>
带你手动实现call方法,让你收获满满
查看>>
前端知识体系
查看>>
查找入职员工时间排名倒数第三的员工所有信息
查看>>
使用join查询方式找出没有分类的电影id以及名称
查看>>
Qt教程(2) : Qt元对象系统
查看>>
驱动开发误用指针错误:Unable to handle kernel NULL pointer dereference at virtual address
查看>>
Linux部署DocSystem知识/文件管理系统
查看>>
Centos7开机自启动脚本无法使用备用方案
查看>>