WebSQL已被弃用,但目前对某些应用程序仍然有用。
这是我的表,我正在使用KnockoutJS:
<table class='producttable'>
<tr>
<th>Name</th>
<th>Description</th>
<th>Price</th>
</tr>
<tbody data-bind="foreach: products">
<tr>
<td><input data-bind='value: name' /></td>
<td><input data-bind='value: description' /></td>
<td><input data-bind='value: price' /> </td>
</tr>
</tbody>
</table>
我能够像这样将数据保存/插入到WebSQL中:
function saveproduct(product) {
db.transaction(function (tx) {
tx.executeSql('INSERT INTO products (name, description, price) VALUES (?, ?, ?)',
[product.name, product.description, product.price]);
});
}
我不确定如何在WebSQL中更新一行数据。
我在下面尝试了这个,但它不起作用。我正朝着正确的方向前进吗?
function updateproduct(product) {
db.transaction(function (tx) {
tx.executeSql('UPDATE products SET name=? WHERE id=?', [product.title]);
});
}
答案 0 :(得分:1)
谢谢,当&quot;更新产品SET description =?,price =?名称=?&#39;,[product.description,product.price,product.name]);实施。我需要调整它,所以名称是id。
答案 1 :(得分:0)
实际上,您的代码需要将2个变量映射到查询中,但是我将建议另一种方法,这对我有很大帮助。
在将其放入请求之前,您必须创建一个查询字符串:
function updateproduct(product) {
let update_query = "UPDATE products SET name=" + product.title + "WHERE id=" + product.title
db.transaction(function (tx) {
tx.executeSql(update_query);
});
}
希望有帮助!