Cordova cordova_sqlite_storage控件的使用

来源:互联网 发布:如何自学软件编程 编辑:程序博客网 时间:2024/06/05 04:14
   最近公司准备用Cordova做个H5 app,蛋疼啊,我只是个android小白,辛勤的做一些准备工作吧。官网有很多成熟的控件,需要学习一下常用的,比如数据库控件、文件读写控件等。   cordova-sqlite-storage控件看了一天,只学习了基础的增删改查,感觉有必要做下笔记,记录下劳动成果。先来个控件的github地址:https://github.com/litehelpers/Cordova-sqlite-storage   再来个cordova环境下载方法(直接下载官网的):cordova plugin add cordova-sqlite-storage   First blood:先贴代码
var db = null;document.addEventListener('deviceready',function() {  db = window.sqlitePlugin.openDatabase(      {name: 'demo.db', location: 'default'}      );});
   首先是等待设备'deviceready',不多说。   然后调用openDatabase()方法,若果数据库不存在,则创建;不存在,打开该数据库。方法里传入一组参数:name数据库名字,location数据库位置,android的默认位置是在data/data/包名/databases里,ios一窍不通,也就没研究(name和location最好都设置,本人之前只设置了name,数据库未创建成功,看过api好像提示两个值必须初始化,英文不好,原句找不到了,舔着脸提示一下吧)。之前还是用过var db= window.sqlitePlugin.openDatabase("myDatabase.db", "1.0", "Demo", -1);但是失败了,原句奉上:No longer supported (see tip below to overwrite window.openDatabase),不支持了!   第二点:上代码
db.transaction(function(tx) {    tx.executeSql("create table if not exists person(" +                "id integer primary key autoincrement," +                "name varchar(20)," +                "password varchar(20))"                ); }, function(error) {    console.log('Transaction ERROR: ' + error.message); }, function() {    console.log('Populated database OK'); });
   这段代码就是创建表的,很简单。db.transaction()方法呢,感觉没什么解释的,有三个参数:第一个callback回调函数,第二个errorCallback失败回调,第三个successCallback成功回调。最好都写了,方便调试。   回调函数有个tx返回值,就是SQLitePluginTransaction 一个事物,通过tx.executeSql()执行sql语句,下面说。   第三点:增删改查,上代码
db.transaction(function(tx) {    tx.executeSql(        'SELECT * FROM person ',         [],         function(tx, rs) {          var row=rs.rows.item(0);          for(var column in row){              document.write(column+":"+row[column]);          }        },         function(tx, error) {          console.log('SELECT error: ' + error.message);        });  }, function(error) {    console.log('Transaction ERROR: ' + error.message);  }, function() {    console.log('Populated database OK');  });
   其他不多说,直接介绍executeSql()函数,需要传入四个参数,第一个为sql语句,比较明显,增删改查语句直接传入就行;第二个是个数组,里面写sql语句中占位符对应的值;第三个成功回调函数,返回两个值,tx可以继续执行executeSql()函数,rs是返回的结果值 rs = Object {rows: Object, rowsAffected: 0, insertId: undefined},返回的数据就在rows里,通过rs.rows.item(i)取出,rowsAffected是影响的行数,insertId不解释了。   感觉基础的就这么点东西了,感觉APP端差不多够用了,不够用再研究吧,毕竟全英文文档看着很难受。
原创粉丝点击