本文共 2275 字,大约阅读时间需要 7 分钟。
本文为原创文章,转载请标明
命令行输入
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,
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.如有不当之处,请予指正,谢谢~