• Ionic3学习笔记(六)存储之使用 SQLite


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

    目录

    1. 安装
    2. CURD操作

    1. 安装

    命令行输入

    ionic cordova plugin add cordova-sqlite-storage
    npm 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. Ionic Native - SQLite
    2. GitHub - Cordova-sqlite-storage

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

  • 相关阅读:
    java 数据结构(八):Iterator接口与foreach循环
    java 数据结构(七):Collection接口
    java 数据结构(六):数组与集合
    java中equals(),hashcode()和==的区别
    Android中的IPC方式
    Android-如何防止apk被反编译
    Android-管理应用的内存(转)
    102. Binary Tree Level Order Traversal
    对于开发团队管理的理解
    TCP三次握手和四次挥手的全过程
  • 原文地址:https://www.cnblogs.com/metaphors/p/7666002.html
Copyright © 2020-2023  润新知