赞
踩
项目工作环境网络不好,或者涉及机密数据等,需要断网情况下的数据采集。当然我们可以通过localStorage来实现数据的本地存储,但这种方式,只能缓存少量切单一的数据。html5+ 有一个模块 sqlite,便可以实现我们的需求。
plus.sqlite.openDatabase(options);
如果数据库存在则打开,不存在则创建。
( String )
必选
数据库名称( String )
必选
数据库路径⚠️ 根据官方文档推荐来 使用 _doc/x.db,因为该目录下既可以读写,又是该应用私有目录。
( SQLiteSuccessCallback )
可选
打开数据库成功回调函数( SQLiteFailCallback )
可选
打开数据库失败回调函数//example
function openDB() {
plus.sqlite.openDatabase({
name: 'test',
path: '_doc/test.db',
success: function() {
console.log('数据库打开成功')
},
fail: function(e) {
console.error(e)
// {code: '错误代码', message: '错误信息'}
}
})
}
plus.sqlite.isOpenDatabase(options);
数据库已经打开则返回true,数据库没有打开则返回false。 ⚠️HBuilderX1.9.0及以上版本支持。
( String )
必选
数据库名称( String )
必选
数据库路径//example
function isOpenDB() {
const res = plus.sqlite.isOpenDatabase({
name: 'test',
path: '_doc/test.db',
})
console.log(res)
// true|false
}
plus.sqlite.closeDatabase(options);
⚠️完成数据库操作后,必须关闭数据库,否则可能会导致系统资源无法释放。
( String )
必选
数据库名称( SQLiteSuccessCallback )
可选
关闭数据库成功回调函数( SQLiteFailCallback )
可选
关闭数据库失败回调函数//example
function closeDB() {
plus.sqlite.closeDatabase({
name: 'test',
success: function() {
console.log('数据库关闭成功')
},
fail: function(e) {
console.error(e)
// {code: '错误代码', message: '错误信息'}
}
})
}
plus.sqlite.transaction(options);
执行事务
( String )
必选
数据库名称必选
需要执行的事务操作 可选值:begin(开始事务)、commit(提交)、rollback(回滚)。( SQLiteSuccessCallback )
可选
执行事务成功回调函数( SQLiteFailCallback )
可选
执行事务失败回调函数//官方案例
function transactionDB(){
plus.sqlite.transaction({
name: 'first',
operation: 'begin',
success: function(e){
console.log('transaction success!');
},
fail: function(e){
console.log('transaction failed: '+JSON.stringify(e));
}
});
}
plus.sqlite.executeSql(options);
执行增删改 建表等操作的SQL语句
( String )
必选
数据库名称( Array[String] | String )
必选
需要执行的SQL语句⚠️之所以 用字符串数组 实现执行多条,是因为Android平台不支持SQL语句中使用“;”分割多条命令
( SQLiteSuccessCallback )
可选
执行SQL语句成功回调函数( SQLiteFailCallback )
可选
执行SQL语句失败回调函数function executeSQL() { plus.sqlite.executeSql({ name: 'test', sql: `create table if not exists users("name" CHAR(25),"gender" bit default 1,"age" INT(11))`, success: function() { console.log('x.db 新建成功') plus.sqlite.executeSql({ name: 'x.db', sql: `insert into users values("小美", 0, 20)`, success: function() { console.log('新增数据成功') }, fail: function(e) { console.error(e) // {code: '错误代码', message: '错误信息'} } }) }, fail: function(e) { console.error(e) // {code: '错误代码', message: '错误信息'} }, }) }
plus.sqlite.selectSql(options);
执行查询的SQL语句
( String )
必选
数据库名称( String )
必选
需要查询的SQL语句( SQLiteSuccessCallback )
可选
执行SQL语句成功回调函数⚠️ 回调函数返回参数为JSON对象数组,其中JSON对象为查询的结果。 如果未查询到数据则返回参数为空数组。
( SQLiteFailCallback )
可选
执行SQL语句失败回调函数//example function selectSQL() { plus.sqlite.selectSql({ name: 'test', sql: 'select * from users', success: function(data){ console.log('selectSql success: '); for(var i in data){ console.log(data[i]); //{name: "小美", gender: 0, age: 20} } }, fail: function(e){ console.error(e); // {code: '错误代码', message: '错误信息'} } }); }
至此 sqlite 模块,介绍完毕
如果要访问 我们创建的 sqlite 数据库,可以查看这篇文章 访问移动端 sqlite
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。