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.execSql 中 sql 的任一形式 |
|
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);
});
}