在插入第二个记录时,Web SQL数据库版本错误

Web SQL database version error on insertion of 2nd record

本文关键字:SQL 数据库 版本 错误 Web 插入 第二个 记录      更新时间:2023-09-26

我有一个html表单,员工记录被插入,在提交记录时,它只是保存在浏览器数据库即websql上,但它给我错误"无法打开数据库,版本不匹配,'1.0'不匹配currentVersion的"插入第二条记录时。

请给出解决方法。

下面是我为它编写的代码。

function myfunction() {
        debugger;
        var obj = {};
        obj.first_name = $("#txtFirstName").val();
        obj.last_name = $("#txtLastName").val();
        obj.qualification = $("#txtQualication").val();
        obj.age = $("#txtAge").val();
        if (typeof (Storage) !== "undefined") {
            //websql supported
            var localstorage = openDatabase('dbemp', '1.0', 'employess database', 2 * 1024 * 1024, function () {
                console.log("created/found database");
            });
            var success = function () {
                $("#txtFirstName").val("");
                $("#txtLastName").val("");
                $("#txtQualication").val("");
                $("#txtAge").val("");
            };
            var failure = function () {
                alert('records don''t save');
            };
            localstorage.transaction(function (tx) {
                tx.executeSql('CREATE TABLE IF NOT EXISTS employee (first_name, last_name, qualification, age)', function () {
                    console.log("created table");
                }, function () {
                    tx.executeSql('INSERT INTO employee (first_name, last_name, qualification, age) VALUES (?, ?, ?, ?)',
                    [obj.first_name, obj.last_name, obj.qualification, obj.age],success,failure);
                    console.log("Insert record successfully..");
                    alert('Record Save locally');
                });
            });
        } else {
            console.log("NOT SUPPORTED");
        }
    }

本地存储实际上是浏览器的Web SQL数据库。你的问题是,你正试图打开一个已经创建的数据库的版本"现在与不同的版本"1.0"。修改版本号就可以了