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

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

hot3.png

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

目录

  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));  }}

更多可详见

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

转载于:https://my.oschina.net/metaphors/blog/1550591

你可能感兴趣的文章
J2EE中获得web路径和类路径总结
查看>>
且谈Android内存溢出
查看>>
在论坛中出现的比较难的sql问题:8(递归问题1)
查看>>
活动目录OU委派操作指南
查看>>
delphi 操作word文档
查看>>
50行代码实现的一个最简单的基于 DirectShow 的视频播放器
查看>>
XML学习笔记(一)
查看>>
MHA自动Failover过程解析(updated)
查看>>
Windows Server 2008 R2 升级之AD备份、还原
查看>>
Java 集合类Collection、List
查看>>
就从这里开始吧
查看>>
Linux添加虚拟网卡的多种方法
查看>>
在word上编辑文章直接发往博客
查看>>
Webpack 4教程 - 第四部分,使用SplitChunksPlugin分离代码
查看>>
Sublime的Data目录如何从%APPDATA%/Roaming/Sublime Text 3改到安装目录下
查看>>
Unit 6
查看>>
Linux date
查看>>
安卓学习-SlidingMenu-侧滑菜单
查看>>
登陆验证,密码输错三次,锁定用户
查看>>
word文档(选择题)转换为excl表格
查看>>