使用单个查询将多个记录插入到 webSQL 表中,来自对象数组的数据
Inserting multiple records into a webSQL table using single query, data from array of objects
目前,在从服务器中提取JSON以将其放入webSQL数据库后,我正在循环INSERT INTO查询。
虽然这有效,但我正在为每条记录执行一个 SQL 事务,这似乎效率非常低,尤其是在移动设备上。
鉴于我有一个与每行所需值相对应的对象数组,如何在没有循环的情况下做到这一点?还是简单地循环会更好?
粗略地说,我有一个以下格式的数组:
[{"Timestamp": 323343553,
"ID": 1,
"Value1": "string"
"Value2": 322}, ... more objects
]
正如 Cl 所说,您可以将插入 SQL 命令循环到一个事务中,如下所示。
var db = openDatabase('mydb', '1.0', 'my first database', 2 * 1024 * 1024);
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE user (id INTEGER PRIMARY KEY AUTOINCREMENT,name)');
});
var userArray = [{"name": "bob"}, { "name": "lee"}];
db.transaction(function (tx) {
for (var i = 0; i <userArray.length; i++)
{
tx.executeSql("insert into user(name) values(?)", [userArray[i].name],successCallBack,errorCallBack);
}
});
function successCallBack(){
console.log("inserted corrrectly !!");
}
function errorCallBack(tx,error){
if (query.indexOf('insert into') === -1)
alert("Error : " + error.message + " in " + query);
console.log(error.message + "in" + tx);
}
相关文章:
- jQuery对象从html表中查询为两个一维数组,用于Chartist图表
- 如何用javascript,phonegap(cordova)将json对象插入sqlite表中
- JQuery--无法选择动态附加到表中的对象
- 使用javascript(ajax,jquery?)从表中删除对象(用户等)
- 在表中显示数组对象
- 在 HTML 表中显示解析对象
- 在数据表中使用 JSON 对象而不是数组
- 谷歌应用程序脚本-正在尝试使用getUrl.TypeError:在对象工作表中找不到函数getUrl
- 使用jquery在不同的表中显示对象的元素
- 对象文字数据表中的 Google 可视化样式角色
- 将数组对象添加到 HTML 表中
- Angular Js:验证表中的重复对象键
- Javascript:遍历对象数组以查找键值对并将它们呈现在表中 td
- 表中的 Javascript 输出对象有助于删除重复代码
- AngularJS 模态对话框表单对象在控制器中未定义
- 使用单个查询将多个记录插入到 webSQL 表中,来自对象数组的数据
- 将 JSON 对象值显示到表中
- 如何使用ENTER(键盘上的键)在Angularjs表中添加新对象
- 与哈希表相比,通过循环访问数组中对象的Javascript优化
- 如何从表中正确删除对象