html5 web SQL

'SELECT * FROM LOGS', [], function (tx, results)
//这里的function(tx,results)中的tx是干嘛的

tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {
    

有没有大佬知道查询里面的函数'SELECT * FROM LOGS', [], function (tx, results)里的第一个参数是干嘛用的,,可不可以帮忙解读一下

db.transaction开始事务回调中的SQLTransaction对象,该对象可以执行executeSql方法

executeSql支持四个参数,sql语句,sql参数,成功回调函数,错误回调函数,回调函数第一个参数是transaction,第二个是执行结果;错误回调函数第一个参数是transaction,第二个参数是错误。

    var test_db = window.openDatabase('test', '1.0', 'Test DB', 2 * 1024 * 1024);
    test_db.transaction(function (tx) {
        tx.executeSql('CREATE TABLE IF NOT EXISTS foo (id unique, text)', [], function (ntx) {
//这里用tx或者ntx执行插入数据都可以,所以成功回调中申明个新的变量没多大意义
            ntx.executeSql('INSERT INTO foo (id, text) VALUES (1, "test")')
        }, function () { });
    })

如果是下面这种形式,由于executeSql回调无法访问test_db.transcation回调中的tx,才需要在回调中执行sql时申明变量


    var test_db = window.openDatabase('test', '1.0', 'Test DB', 2 * 1024 * 1024);
    function success(tx) {
        tx.executeSql('INSERT INTO foo (id, text) VALUES ("'+Date.now()+'", "test")')
    }
    test_db.transaction(function (tx) {
        tx.executeSql('CREATE TABLE IF NOT EXISTS foo (id unique, text)', [], success, function () { });
    })

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632