说明
因为Android原生数据库不支持以分号分割的多条sql语句,所以当执行多条语句时,只会执行第一条sql语句。
而在iOS平台原生数据库则支持。
为解决部分用户的需求,兼容平台差异性。
HBuilderX2.5.3+版本 plus.sqlite.executeSql() 将兼容支持以数组形式传入的多条数组
具体API参考如下:
void plus.sqlite.executeSql(options);
参数:
options参数为json类型,包含以下属性:
- name: ( String ) 必选 数据库名称
- sql: ( String|Array ) 必选 需要执行的SQL语句或数组
- success: ( SQLiteSuccessCallback ) 可选 执行SQL语句成功回调函数
- fail: ( SQLiteFailCallback ) 可选 执行SQL语句失败回调函数
示例:
function executeSQL(){
plus.sqlite.executeSql({
name: 'first',
sql: ['create table if not exists table_A("where" CHAR(110),"location" CHAR(100),"age" INT(11))','create table if not exists table_B("where" CHAR(110),"location" CHAR(100),"age" INT(11));'],
success: function(e){
console.log('executeSql success!');
plus.sqlite.executeSql({
name: 'first',
sql: ["insert into table_B values('北京','安乐林:',11)","insert into table_B values('天津','风火轮',22);"],
success: function(e){
console.log('executeSql success!');
},
fail: function(e){
console.log('executeSql failed: '+JSON.stringify(e));
}
});
},
fail: function(e){
console.log('executeSql failed: '+JSON.stringify(e));
}
});
}
具体规范可参考:https://www.html5plus.org/doc/zh_cn/sqlite.html#plus.sqlite.executeSql
2 个评论
要回复文章请先登录或注册
wzcs2023
余温半暖