目录

概述

在移动开发中,由于移动特征,经常需要离线缓存数据,技术手段除了本地文件缓存外,本地数据库存储也是常用的技术手段,UAP Mobile平台可支持使用Sqlite数据库进行本地数据存储。

操作Sqlite数据库的API: $sqlite

方法参数为一个JSON定义。

是否存在数据库($sqlite.exist)

参数:{db: ”dbname”}

示例

  1. var hasdb = $sqlite.exist(dbname);// 返回值为字符串:”true”或者 ”false”

执行一个sql,无返回值,比如新增、删除($sqlite.execSql)

参数:{db:”dbname”,sql:”sql语句”}

示例

  1. var sql="insert into person(name,xclass) values…";
  2. var param = {
  3. db : dbname,
  4. sql : sql
  5. }
  6. $sqlite.execSql(param);

执行一个查询($sqlite.query)

参数:如下例param

示例

  1. var sql="select * form person";
  2. var param = {
  3. db : dbname, //数据库名字
  4. sql : sql, //执行的查询语句
  5. "startIndex" : 0, //从第几条记录开始
  6. "endIndex" : 10 //到第几条记录结束
  7. }
  8. $sqlite.query(param);

执行一个分页查询($sqlite. queryByPage)

参数:如下例param

示例

  1. var sql="select * form person";
  2. var param = {
  3. db : dbname, //数据库名字
  4. sql : sql, //执行的查询语句
  5. "pageIndex" :0, //从第几页开始,从0开始
  6. "pageSize" : 20 //每页的记录数
  7. }
  8. $sqlite. queryByPage(param);

iuap mobile手机端数据库编程示例

数据库初始化

首先,要选择一个时机去初始化数据库。初始化一次就可以了。
这个时机一般选择在某个控件的onload事件里,比如页面加载的时机。
示例:

  1. functiononload() {
  2. varparam = {
  3. db : "mydb"
  4. };
  5. if ($sqlite.exist(param) == "false") {//如果不存在这个数据库就创建它
  6. initDB();
  7. }
  8. }
  9. functioninitDB() {
  10. varsql = "CREATETABLEperson(_idINTEGERPRIMARYKEYAUTOINCREMENT,nameVARCHAR,xclassVARCHAR)";
  11. varparam = {
  12. db : dbname,
  13. sql : sql
  14. };
  15. $sqlite.execSql(param);
  16. }

数据库操作

查询并把结果放入数据源

  1. var param = {
  2. db : "mydb",
  3. sql : "select * from person",
  4. pageIndex : 0,
  5. pageSize : 100
  6. }
  7. var data = $sqlite.queryByPageNo(param);
  8. var listdata = {
  9. "list" : data
  10. }
  11. $ctx.push(listdata);

新增记录

  1. varsql = "INSERT INTO person(name, xclass) VALUES('张三', '北京大学');";
  2. varparam = {
  3. db : "mydb",
  4. sql : sql
  5. }
  6. $sqlite.execSql(param);

删除记录

  1. var sql = "delete from person";
  2. var result = confirm("是否全部删除?");
  3. if (!result) {
  4. return;
  5. }
  6. var param = {
  7. db : "mydb",
  8. sql : sql
  9. }
  10. $sqlite.execSql(param);

备注:样例代码来自于样例工程,代码位置:service页面点击“本地数据库操作”,是一个完整的可运行的例子。

文档更新时间: 2018-01-15 14:56