"handleError is not a function" 错误 运行 sql.js
"handleError is not a function" error running sql.js
我正在尝试实现一个 REST 环境,在该环境中,在客户端,客户端数据存储在 SQLite 数据库中。
我之前在 Cordova 上使用 Cordova-sqlite-storage, but I'm unable to accomplish the same using its vanilla-JS counterpart, sql.js
完成了这个
我遇到的问题是 Database()
函数没有返回任何内容,所以我无法进行任何类型的查询。
这是我的测试文件 (test.html):
<html>
<head>
<script src="https://rawgit.com/kripken/sql.js/master/js/sql.js"></script>
</head>
<body>
<script>
var sql = window.SQL;
var db = sql.Database(); // Is returning undefined ?
sqlstr = "CREATE TABLE hello (a int, b char);";
sqlstr += "INSERT INTO hello VALUES (0, 'hello');"
sqlstr += "INSERT INTO hello VALUES (1, 'world');"
db.run(sqlstr); // Run the query without returning anything
var res = db.exec("SELECT * FROM hello");
console.log(res);
</script>
</body>
</html>
此returns以下错误:
TypeError: this.handleError is not a function
sql.js
Line 466
如果我自己创建this.handleError()
,错误变为:
TypeError: db is undefined
test.html
Line 13
关于如何解决这个问题有什么想法吗?我到处都看了,但是文档似乎很少。
sql.Database()
需要作为构造函数调用(例如 db = new sql.Database();
)。注意 new
,如 Usage example.
var sql = window.SQL;
var db = new sql.Database();
sqlstr = "CREATE TABLE hello (a int, b char);";
sqlstr += "INSERT INTO hello VALUES (0, 'hello');"
sqlstr += "INSERT INTO hello VALUES (1, 'world');"
db.run(sqlstr);
var res = db.exec("SELECT * FROM hello");
console.log(res);
<script src="https://rawgit.com/kripken/sql.js/master/js/sql.js" type="text/javascript"></script>
我正在尝试实现一个 REST 环境,在该环境中,在客户端,客户端数据存储在 SQLite 数据库中。
我之前在 Cordova 上使用 Cordova-sqlite-storage, but I'm unable to accomplish the same using its vanilla-JS counterpart, sql.js
完成了这个我遇到的问题是 Database()
函数没有返回任何内容,所以我无法进行任何类型的查询。
这是我的测试文件 (test.html):
<html>
<head>
<script src="https://rawgit.com/kripken/sql.js/master/js/sql.js"></script>
</head>
<body>
<script>
var sql = window.SQL;
var db = sql.Database(); // Is returning undefined ?
sqlstr = "CREATE TABLE hello (a int, b char);";
sqlstr += "INSERT INTO hello VALUES (0, 'hello');"
sqlstr += "INSERT INTO hello VALUES (1, 'world');"
db.run(sqlstr); // Run the query without returning anything
var res = db.exec("SELECT * FROM hello");
console.log(res);
</script>
</body>
</html>
此returns以下错误:
TypeError: this.handleError is not a function
sql.js
Line 466
如果我自己创建this.handleError()
,错误变为:
TypeError: db is undefined
test.html
Line 13
关于如何解决这个问题有什么想法吗?我到处都看了,但是文档似乎很少。
sql.Database()
需要作为构造函数调用(例如 db = new sql.Database();
)。注意 new
,如 Usage example.
var sql = window.SQL;
var db = new sql.Database();
sqlstr = "CREATE TABLE hello (a int, b char);";
sqlstr += "INSERT INTO hello VALUES (0, 'hello');"
sqlstr += "INSERT INTO hello VALUES (1, 'world');"
db.run(sqlstr);
var res = db.exec("SELECT * FROM hello");
console.log(res);
<script src="https://rawgit.com/kripken/sql.js/master/js/sql.js" type="text/javascript"></script>