gpt4 book ai didi

javascript - Safari 中 WebSQL 中的 SELECT 查询返回错误

转载 作者:行者123 更新时间:2023-11-30 07:56:55 24 4
gpt4 key购买 nike

这是有问题的代码。我一直在努力工作。

问题是回调中的变量结果没有任何行。但这仅存在于 Safari 中。 Chrome 完美运行。
Safari 和 Chrome 上的数据库在数据库中显示正确的值。

result 变量有一个有趣的属性:

SQLResultSet
insertId: Error: InvalidAccessError: DOM Exception 15

但是行数组不存在。

db.transaction(function (tx) {
tx.executeSql("INSERT INTO QUIZZES (id,name,completed,icon) VALUES (coalesce((SELECT max(id) FROM QUIZZES),0)+1,?,0,?)", [json.name,json.icon],
function (tx, result) {
console.log('Inserted Quiz. Selecting Quiz');

tx.executeSql("SELECT * FROM QUIZZES ", [],
function (tx, result) {
console.log(result);
var quizid = result.rows[0].id;
console.log(quizid);
},
errorCB);
});

},
errorCB);

我尝试过的是通过 db.transaction(... 在回调中将我的代码从一个事务重新编写为对数据库的多个单独调用。
我还尝试自己重写查询,或者编写能够 100% 返回正确结果的查询。然而,一事无成。

提前感谢您的帮助

最佳答案

问题在于 Chrome 在您构建代码的方式上要宽松得多。

应该从查询中选择结果:通过

results.rows.item(0).id;

而不是

result.rows[0].id;

注意项目。

这为我解决了这个问题。

关于javascript - Safari 中 WebSQL 中的 SELECT 查询返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37648885/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com