以下是我的HTML页面中的<script>
标记,但却给出了错误:
未捕获错误:文件已加密或不是数据库
<script>
var file = "/data/myDB.sqlite";
var db = new SQL.Database(file);
db.run("SELECT * FROM WEBUSERS", function(err, rows) {
rows.forEach(function (row) {
console.log('WEBUSERS Created User: '+row.USERNAME);
});
});
</script>
答案 0 :(得分:0)
正如评论中所提到的,构造函数不接受字符串,它需要一个包含SQLite数据库的Uint8Array。
执行此操作的一种方法是使用ajax请求将数据库作为数组缓冲区并将其转换为Uint8Array。
var file = "/data/myDB.sqlite";
var xhr = new XMLHttpRequest();
xhr.open('GET', file, true);
xhr.responseType = 'arraybuffer';
xhr.onload = function() {
var data = new Uint8Array(this.response);
var db = new SQL.Database(data);
db.run("SELECT * FROM WEBUSERS", function(err, rows) {
rows.forEach(function(row) {
console.log('WEBUSERS Created User: ' + row.USERNAME);
});
});
};
xhr.send();