Database 存储

基于 sqlite 3 实现的 数据库存储能力.

API 调用

QN.database.execSql(options)

API 调用入参

执行单条 SQL 语句

名称 类型 是否可选 含义
options Object 选项
options.query Object 请求参数
options.query.sql String Array SQL 语句 或 SQL 语句和参数的组合数组
options.query.sql[0] String SQL 语句
options.query.sql[1] Array 执行 SQL 语句同时传入的参数
options.success Function optional 调用成功的回调函数
options.error Function optional 调用失败的回调函数

API 响应结果

名称 类型 是否必须返回 含义
result Object 响应对象
result.errorCode Number 错误码,成功为0,失败为非0
result.errorMsg String 错误信息

调用示例

// 直接执行 SQL 语句
QN.database.execSql({
  query: {
    sql: 'CREATE TABLE IF NOT EXISTS Employee(id integer PRIMARY KEY AUTOINCREMENT,name varchar,sex varchar,departmentId integer)',
  },
  success(result) {
    console.log('[SUCCESS]', result);
  },
  error(error) {
    console.log('[ERROR]', error);
  },
}).then((result) => {
  console.log('[RESOLVE]', result);
  this.getSessionStore();
}, (error) => {
  console.log('[REJECT]', error);
});
// 执行 SQL 语句并传入参数,传入的数据会取代 SQL 语句中的 `?`
QN.database.execSql({
  query: {
    sql: ['INSERT INTO Employee (name,sex,departmentId) VALUES (?,?,?)', ['张三', '男', 10003]],
  },
  success(result) {
    console.log('[SUCCESS]', result);
  },
  error(error) {
    console.log('[ERROR]', error);
  },
}).then((result) => {
  console.log('[RESOLVE]', result);
  this.getSessionStore();
}, (error) => {
  console.log('[REJECT]', error);
});

QN.database.batchSql(options)

批量执行 SQL 语句

API 调用入参

执行单条 SQL 语句

名称 类型 是否可选 含义
options Object 选项
options.query Object 请求参数
options.query.sql Array SQL 数组
options.query.sql[i] String QN.database.execSqlsql 的任一形式
options.success Function optional 调用成功的回调函数
options.error Function optional 调用失败的回调函数

API 响应结果

名称 类型 是否必须返回 含义
result Object 响应对象
result.errorCode Number 错误码,成功为0,失败为非0
result.errorMsg String 错误信息

调用示例

QN.database.batchSql({
  query: {
    sql: [
      ['INSERT INTO Employee (name,sex,departmentId) VALUES (?,?,?)', ['张三', '男', 10003]],
      ['INSERT INTO Employee (name,sex,departmentId) VALUES (?,?,?)', ['李四', '男', 10004]],
      ['DELETE FROM Employee WHERE sex = "女"'],
    ]
  },
  success(result) {
    console.log('[SUCCESS]', result);
  },
  error(error) {
    console.log('[ERROR]', error);
  },
}).then((result) => {
  console.log('[RESOLVE]', result);
  this.getSessionStore();
}, (error) => {
  console.log('[REJECT]' , error);
});
}

更多参考