1.3.2.3 QN.database

优质
小牛编辑
128浏览
2023-12-01

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

1.1. API 调用

1.1.1. QN.database.execSql(options)

API 调用入参

执行单条 SQL 语句

参数名类型是否可选默认值含义
optionsObject选项
options.queryObject请求参数
options.query.sqlString ArraySQL 语句 或 SQL 语句和参数的组合数组
options.query.sql[0]StringSQL 语句
options.query.sql[1]Array执行 SQL 语句同时传入的参数
options.successFunctionoptional调用成功的回调函数
options.errorFunctionoptional调用失败的回调函数

API 响应结果

参数名类型是否必须返回含义
resultObject响应对象
result.codeString错误码,成功为 QAP_SUCCESS;失败为其他
result.msgString错误信息

调用示例

// 直接执行 SQL 语句
QN.database.execSql({
    query: {
        sql: 'CREATE TABLE IF NOT EXISTS Employee(id integer PRIMARY KEY AUTOINCREMENT,name varchar,sex varchar,departmentId integer)',
    }
}).then((result) => {
    console.log(result);
}, (error) => {
    console.log(error);
});

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(result);
    },
    error(error) {
        console.log(error);
    }
});
// 执行 SQL 语句并传入参数,传入的数据会取代 SQL 语句中的 `?`
QN.database.execSql({
    query: {
        sql: ['INSERT INTO Employee (name,sex,departmentId) VALUES (NULL,?,?)', ['张三', '男', 10003]],
    }
}).then((result) => {
    console.log(result);
}, (error) => {
    console.log(error);
});

QN.database.execSql({
    query: {
        sql: ['INSERT INTO Employee (name,sex,departmentId) VALUES (NULL,?,?)', ['张三', '男', 10003]],
    },
    success(result) {
        console.log(result);
    },
    error(error) {
        console.log(error);
    }
});

1.1.2. QN.database.batchSql(options)

批量执行 SQL 语句

API 调用入参

执行单条 SQL 语句

参数名类型是否可选默认值含义
optionsObject选项
options.queryObject请求参数
options.query.sqlArraySQL 数组
options.query.sql[i]StringQN.database.execSqlsql 的任一形式
options.successFunctionoptional调用成功的回调函数
options.errorFunctionoptional调用失败的回调函数

API 响应结果

参数名类型是否必须返回含义
resultObject响应对象
result.codeString错误码,成功为 QAP_SUCCESS;失败为其他
result.msgString错误信息

调用示例

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

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

1.2. 更多参考