当前位置: 首页 > 编程笔记 >

Ionic2调用本地SQlite实例

申昌勋
2023-03-14
本文向大家介绍Ionic2调用本地SQlite实例,包括了Ionic2调用本地SQlite实例的使用技巧和注意事项,需要的朋友参考一下

普通的app用ionic内置的Storage存储键值对的方式可以满足日常的使用,但是有时候遇到一些奇怪的需求。比如说有个网友留言说做一个离线版的App,怎样调用本地Sqlite执行SQL语句。问题描述清楚直接上代码。

需要说明的是SQLite是手机内置的数据库存储方式,在Ionic2中需要安装相应的插件和安装包。过程很简单

第一步

安装插件、并加入项目

$ ionic plugin add cordova-sqlite-storage
$ npm install --save @ionic-native/sqlite

第二步

把服务加入到src/app/app.moudle.ts

...
import { SQLite } from '@ionic-native/sqlite';
...
providers: [
 ...
 SQLite
]
...

第三步

使用数据库,常规来说,这一步应该封装成公共服务或者工具类。类中是具体的创建数据库,调用数据库,CRUD等方法。这里只是说明原理,直接调用

import { Component } from '@angular/core';
import { SQLite, SQLiteObject } from '@ionic-native/sqlite';
@Component({
 selector: 'page-hello-ionic',
 templateUrl: 'hello-ionic.html'
})
export class HelloIonicPage {
 constructor(
       private sqlite: SQLite) {

 }
 database :SQLiteObject;
 ngOnInit(){
  this.initDB();
 }
 initDB(){
  this.sqlite.create({
   name: 'data.db',
   location: 'default'
  })
  .then((db: SQLiteObject) => {
  db.executeSql('create table t_log(name VARCHAR(32))', {})//建表
   .then(() => console.log('Executed SQL'))
   .catch(e => console.log(e));

  this.database = db;
  db.executeSql("insert into t_log values('123')",{});//插入数据
  })
  .catch(e => console.log(e));

 }
//查询
query() {
  let results = this.database.executeSql("select * from t_log",{});
  alert(data.rows.length);
  alert(data.rows.item(0).name);
  })
 }
}

最后一步

这一步一定要生成app安装到手机才能得到结果,毕竟是调用手机内置的SQLite。
ionic build android

用上面的命令构建APP并安装到手机看看效果吧

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍利用Ionic2 + angular4实现一个地区选择组件,包括了利用Ionic2 + angular4实现一个地区选择组件的使用技巧和注意事项,需要的朋友参考一下 前言 本文主要给大家介绍的是关于利用Ionic2 + angular4实现一个地区选择组件的相关内容,为什么会有这篇文章?主要是因为最近在项目重构的过程中,发现之前用mobiscroll写的地区选择指令在angular2

  • 本地调用使用了 injvm 协议,是一个伪协议,它不开启端口,不发起远程调用,只在 JVM 内直接关联,但执行 Dubbo 的 Filter 链。 配置 定义 injvm 协议 <dubbo:protocol name="injvm" /> 设置默认协议 <dubbo:provider protocol="injvm" /> 设置服务协议 <dubbo:service protocol="in

  • 一个SQLite使用的简单例子。实现联系人信息的Demo,使用SQLite进行存取,并可以查询。 [Code4App.com]

  • 目前参与的项目中会写一些 RPC 接口供其他服务调用,但是我发现这些接口也可以以 sdk 的方式提供给其他服务调用,但是为什么不用 sdk 的方式提供呢?

  • 我有一个问题,也许有人可以帮助我。我正在尝试构建一个简单的java aws lambda并使用无服务器框架部署它。 我试图建立一个简单的lambda使用: 当我尝试使用调用远程函数时 它起作用了。 但是,当我尝试在本地调用它时,出现以下错误: 编辑:要在本地运行它,我使用: 我在谷歌上搜索了一下,什么也没找到。我不理解这个错误。看起来像是关于maven的?

  • 本文向大家介绍Ionic2系列之使用DeepLinker实现指定页面URL,包括了Ionic2系列之使用DeepLinker实现指定页面URL的使用技巧和注意事项,需要的朋友参考一下 Ionic2使用了近似原生App的页面导航方式,并不支持Angular2的路由。这种方式在开发本地App的时候比较方便,但如果要用来开发纯Web页面就有点问题了,这种情况下Angular2的router可以提供更灵活