【问题标题】:HTML5 Local Database CallbackHTML5 本地数据库回调
【发布时间】:2012-03-02 18:50:46
【问题描述】:

我正在向本地数据库中插入数百行。

在此插入之后,我想从该表中选择 * 以获取并显示所有这些记录。

我尝试将 Select 语句放在 INSERT 事务的回调中,但它不能正常工作。当我进行页面刷新时,我测试了 SELECT 语句以查看它是否有效。

有人可以帮忙吗?插入所有记录后,我希望能够在不刷新页面的情况下全部选择它们。谢谢!

database.db.transaction(函数 (tx) { JSON 处理

                tx.executeSql('INSERT INTO ...'),
                    [DATA IS HERE],

                    function (tx, callback) {
                        alert(callback.message);

                        database.db.transaction(function (tx) {
                        tx.executeSql('SELECT * from table;', [], tableSelectHandler, errorHandler);
                                        });
                                    },
                    function (tx, error) {
                         alert(error.message);
                    }

            });

【问题讨论】:

    标签: javascript database html insert


    【解决方案1】:

    回答这个特定问题有点晚了,但可以帮助某人,所以...

    db.transaction 函数还具有 Error 和 Success 的回调函数。您可以将您的 SELECT 代码放在 Success 回调中,它将在事务结束时执行,在所有插入执行后。基本上你应该有这样的东西:

    database.db.transaction(function (tx) { //JSON PROCESSING
    
        tx.executeSql('INSERT INTO ...'),
            [DATA IS HERE],
        function (tx, callback) {
            alert("Insert ok");
        },
        function (tx, error) {
            alert("Error inserting: " + error.message);
        }
    },
    function (error) { // This is the Error callback of the TRANSACTION
         alert(error.message);
    },
    function (result) { // This is the Success callback of the TRANSACTION
        alert("TRANSACTION completed");
    
        database.db.transaction(function (tx) {
            tx.executeSql('SELECT * from table;', [], tableSelectHandler, errorHandler);
        }); // Your tableSelectHandler should take care of the result of the Select
    });
    

    希望对您有所帮助。干杯!

    【讨论】:

    • 很高兴知道 - 我实际上暂时停止使用它,但很快就会再次参与其中。
    猜你喜欢
    • 1970-01-01
    • 2015-06-13
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-25
    • 2013-06-08
    相关资源
    最近更新 更多