普通的程序用离子内置的存储器存储键值对的方式可以满足日常的使用,但是有时候遇到一些奇怪的需求,比如说有个网友留言说做一个离线版的应用,怎样调用本地Sqlite执行SQL语句。问题描述清楚直接上代码。
需要说明的是SQLite是手机内置的数据库存储方式,在Ionic2中需要安装相应的插件和安装包。过程很简单
<强>第一步强>
安装插件,并加入项目
离子插件添加cordova-sqlite-storage美元 美元npm安装——拯救@ionic-native/sqlite
<强>第二步强>
把服务加入到src/app/app.moudle.ts
… 从“@ionic-native/SQLite”进口{SQLite}; … 供应商:[ … SQLite ] …
<强>第三步强>
使用数据库,常规来说,这一步应该封装成公共服务或者工具类,类中是具体的创建数据库,调用数据库,CRUD等方法。这里只是说明原理,直接调用
从“@angular进口{组件}/核心”; 从“@ionic-native进口{SQLite, SQLiteObject}/SQLite”; @ component ({ 选择器:“page-hello-ionic”, templateUrl:“hello-ionic.html” }) 出口类HelloIonicPage { 构造函数( 私人sqlite: sqlite) { } 数据库:SQLiteObject; ngOnInit () { this.initDB (); } initDB () { this.sqlite.create ({ 名称:“data.db”, 地点:“违约” }) 不要犹豫(db: SQLiteObject)=比;{ db。executeSql(“创建表t_log(名字VARCHAR(32),{})//建表 不要犹豫(()=比;控制台。日志(执行的SQL)) .catch (e=比;console.log (e)); 这一点。数据库=数据库; db。executeSql(“插入t_log值(“123”),{});//插入数据 }) .catch (e=比;console.log (e)); }//查询 query () { 让结果=this.database。executeSql (“select * from t_log”, {}); 警报(data.rows.length); 警报(data.rows.item (0) . name); }) } } >之前<强>最后一步强>
这一步一定要生成应用程序安装到手机才能得到结果,毕竟是调用手机内置的SQLite。
<代码>离子构建android代码>
用上面的命令构建应用并安装到手机看看效果吧
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
Ionic2调用本地SQlite实例