Javascript 从WebSQL命令捕获错误

Javascript 从WebSQL命令捕获错误,javascript,html,web-sql,Javascript,Html,Web Sql,为了进一步了解WebSQL,我在javascript代码中遇到了一个“ErrorUndefined”。我已经测试了代码,似乎找不到错误。但是,将创建数据库“To Do”,而不是表“Tasks”。有人能帮忙吗 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Untitled Document</title>

为了进一步了解WebSQL,我在javascript代码中遇到了一个“ErrorUndefined”。我已经测试了代码,似乎找不到错误。但是,将创建数据库“To Do”,而不是表“Tasks”。有人能帮忙吗

<!doctype html>
<html lang="en">
    <head>
    <meta charset="utf-8">
    <title>Untitled Document</title>
    <script type="text/javascript" src="../js/jquery.js"></script>
    <script>
        var db = null;
        var db = openDatabase('To Do', '1.0', 'To Do', 2 * 1024 * 1024);
        db.transaction(function(tx) {
            tx.executeSql('CREATE TABLE IF NOT EXISTS tasks (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, create unique, name, description, due DATETIME)');
});

        $('document').ready(function() {
            var db = openDatabase('To Do', '1.0', 'To Do', 2 * 1024 * 1024);        
            db.transaction(function(tx) {
                tx.executeSql('SELECT * FROM tasks', [], querySuccess, errorCB);
    });

        function querySuccess(tx, results) {
            var len = results.rows.length;
                if(len > 0) {   

             }else{
                alert("You Have No Tasks");

                }
        }

        function errorCB(err) {
            alert("Error" + err.code);  
        }

    });

    </script>
    </head>

    <body>

        <h1>Hello World!</h1>

    </body>
</html>

无标题文件
var-db=null;
var db=openDatabase('To Do','1.0','To Do',2*1024*1024);
数据库事务(功能(tx){
tx.executeSql('CREATE TABLE IF NOT EXISTS tasks(id INTEGER NOT NULL主键自动递增,CREATE unique,name,description,due DATETIME));
});
$('document').ready(函数(){
var db=openDatabase('To Do','1.0','To Do',2*1024*1024);
数据库事务(功能(tx){
tx.executeSql('SELECT*fromtasks',[],querySuccess,errorCB);
});
函数查询成功(发送,结果){
var len=results.rows.length;
如果(len>0){
}否则{
警惕(“你没有任务”);
}
}
函数errorCB(err){
警报(“错误”+错误代码);
}
});
你好,世界!

调试程序时遇到的主要问题是错误回调的签名不正确,它传递两个参数,一个是事务,另一个是错误(类似于成功回调传递事务和结果的方式)

如果将
错误CB
更改为

function errorCB(tx,err) {
    console.log(err);
}
您将看到错误是:

SQLError{代码:5,消息:“无法准备语句(1没有这样的表:任务)”}

实例:

如果您向原始
CREATE TABLE
提供相同的回调,您将看到

SQLError{代码:5,消息:“无法准备语句(1靠近“create”:语法错误)”}


实例:

请提供代码。我正在尝试为离线网站构建一个html5关系数据库,仅供内部使用,而不使用后端服务器。这是我到目前为止所有的代码。我无法通过javascript中的“ErrorUnfind”错误。