当前位置:  开发笔记 > 前端 > 正文

从Webkit的HTML5数据库存储中获取插入ID

如何解决《从Webkit的HTML5数据库存储中获取插入ID》经验,为你挑选了1个好方法。

Webkit(至少在iPhone和Safari上)通过SQLite支持HTML5的数据库存储.

我正在试图弄清楚如何最好地为以下事务获取插入ID(数据库中有一个自动增量字段'id').

db.transaction(function(tx) {
  tx.executeSql("INSERT INTO teams (name) VALUES (?)", [$('#team_name').val()]);
});

Heat Miser.. 16

下面的代码示例来自Apple的文档,我知道它适用于iPhone和Safari,也可能适用于WebKit.您可以使用resultSet响应对象中的插入ID.resultSet.insertId 另外,您可以获取受影响的行数,例如,通过使用resultSet对象的rowsAffected属性来获取更新查询.

db.transaction(
function (transaction) {
    transaction.executeSql('INSERT into tbl_a (name) VALUES ( ? );',
        [ document.getElementById('nameElt').innerHTML ],
        function (transaction, resultSet) {
            if (!resultSet.rowsAffected) {
                // Previous insert failed. Bail.
                alert('No rows affected!');
                return false;
            }
            alert('insert ID was '+resultSet.insertId);
            transaction.executeSql('INSERT into tbl_b (name_id, color) VALUES (?, ?);',
                [ resultSet.insertId,
                  document.getElementById('colorElt').innerHTML ],
                nullDataHandler, errorHandler);
        }, errorHandler);
}, transactionErrorCallback, proveIt);

Apple的HTML5数据库文档



1> Heat Miser..:

下面的代码示例来自Apple的文档,我知道它适用于iPhone和Safari,也可能适用于WebKit.您可以使用resultSet响应对象中的插入ID.resultSet.insertId 另外,您可以获取受影响的行数,例如,通过使用resultSet对象的rowsAffected属性来获取更新查询.

db.transaction(
function (transaction) {
    transaction.executeSql('INSERT into tbl_a (name) VALUES ( ? );',
        [ document.getElementById('nameElt').innerHTML ],
        function (transaction, resultSet) {
            if (!resultSet.rowsAffected) {
                // Previous insert failed. Bail.
                alert('No rows affected!');
                return false;
            }
            alert('insert ID was '+resultSet.insertId);
            transaction.executeSql('INSERT into tbl_b (name_id, color) VALUES (?, ?);',
                [ resultSet.insertId,
                  document.getElementById('colorElt').innerHTML ],
                nullDataHandler, errorHandler);
        }, errorHandler);
}, transactionErrorCallback, proveIt);

Apple的HTML5数据库文档

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有