想要在web sql database中先创建几列字段, 然后更新原来已经输入的第一行数据, 一开始写了两个函数, 创建字段和更新数据, 但是每次只能在添加一列字段时成功, 多字段添加无法实现最后的数据更新.
经过反复实验了两天, 最后想到何不把它们放到一个函数里, 最后一试验, 居然成功了,真是快乐无比, 特此分享给大家.
以下是代码:
//把两个功能创建列和更新数据结合在一起 更新多列数据时成功 经验是处理多对数据时 要一组数据处理完(几个动作依次执行完),再处理下一组数据
function updatedata2fn(db, taname, fieldnamearr, inputdataarr,id) {
for (var i = 0; i < fieldnamearr.length; i++) {
var fieldname = fieldnamearr[i]
var value = inputdataarr[i]
//创建多列字段
const a = 'ALTER TABLE ' + taname + ' ADD ' + fieldname
const b = JSON.stringify(a);
db.transaction(function (tx) {
tx.executeSql(
JSON.parse(b)
);
})
// 更新数据部分
const c = 'UPDATE ' + taname + ' SET ' + fieldname + '="' + value + '" WHERE id='+id
const d = JSON.stringify(c);
db.transaction(function (tx) {
tx.executeSql(
JSON.parse(d)
)
})
}
}