options参数为json类型,包含以下属性:
name: ( String ) 必选 数据库名称
sql: ( Array[ String ] | String ) 必选 需要执行的SQL语句
参数为字符串时,表示执行单条SQL语句; 参数为字符串数组时,表示执行多条SQL语句,按数组顺序执行,某条SQL语句执行错误则终止。 注意:Android平台不支持SQL语句中使用“;”分割多条命令,要运行多条命令请使用字符串数组参数。
success: ( SQLiteSuccessCallback ) 可选 执行SQL语句成功回调函数
回调函数无返回参数。
fail: ( SQLiteFailCallback ) 可选 执行SQL语句失败回调函数
var insert_data_sql = ["INSERT INTO 'data' VALUES (5, 'aaa')"]; // 多条-字符串数组-现在这样不正确
var insert_data_sql = "INSERT INTO 'data' VALUES (4, 'aaa')"; // 单条-字符串-正确
DCloud_App_Array
js中数组可以这么写:
var strarray = ["第一条sql语句","第二条sql语句"];
2020-02-21 18:12
8***@qq.com (作者)
回复 DCloud_App_Array:
var insert_data_sql = "INSERT INTO 'all_data' VALUES (5, 'aaa', 'bbb', 'ccc')"; // 成功
var insert_data_sql = ["INSERT INTO 'all_data' VALUES (6, 'aaa', 'bbb', 'ccc')","INSERT INTO 'all_data' VALUES (7, 'aaa', 'bbb', 'ccc')"];// 失败
报错:executeSql failed: {"code":-1404,"message":"android.database.sqlite.SQLiteException: near \"[\"INSERT INTO 'all_data' VALUES (6, 'aaa', 'bbb', 'ccc')\",\"INSERT INTO 'all_data' VALUES (7, 'aaa', 'bbb', 'ccc')\"]\": syntax error (code 1): , while compiling: [\"INSERT INTO 'all_data' VALUES (6, 'aaa', 'bbb', 'ccc')\",\"INSERT INTO 'all_data' VALUES (7, 'aaa', 'bbb', 'ccc')\"],http://ask.dcloud.net.cn/article/282"} at App.vue:81
你看一下我写的是否正确
这是表结构:var create_table_sql = 'CREATE TABLE IF NOT EXISTS all_data("id" INTEGER(11),"title" TEXT(255),"img" TEXT(255),"link" TEXT(255),PRIMARY KEY ("id"))';
2020-02-22 12:48
8***@qq.com (作者)
回复 DCloud_App_Array: 多条数据正确应该这样:
var insert_data_sql = "INSERT INTO 'all_data' VALUES (6, 'a', 'b', 'c');INSERT INTO 'all_data' VALUES (7, 'a', 'b', 'c')";
注意:Android平台不支持SQL语句中使用“;”分割多条命令,要运行多条命令请使用字符串数组参数。
文档中这样标示,存在误解;建议再测试一下,是版本问题吗
2020-02-22 13:06
DCloud_App_Array
回复 8***@qq.com: 需HBuilderX2.5.5+版本才支持包含多条语句的数组,请更新到最新版本。
2020-02-24 11:21