zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    Go的几种函数式编程范例
    换零钱和快速幂
    随笔不是博客
    leetcode-51
    leetcode-50
    拨号器
    简易计算器的实现
    python入门:1-100所有数的和
    python入门:输出1-10以内除去7的所有数(简)
    python入门:输出1-10以内除去7的所有数(自写)
  • 原文地址:https://www.cnblogs.com/metaphors/p/7666002.html
Copyright © 2011-2022 走看看