首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用sql.js在HTML页面中显示SQLite .db

使用sql.js在HTML页面中显示SQLite .db
EN

Stack Overflow用户
提问于 2016-09-16 11:33:51
回答 1查看 2.1K关注 0票数 1

我正在尝试使用sqlite数据库(例如。data.db)并显示在超文本标记语言页面中。如果我可以在表格中显示,那就太好了。但现在,我只想看看数据。到目前为止,我已经尝试了所有我能找到的东西。

我使用sql.js作为框架,下面是我的代码。

代码语言:javascript
复制
<html>
<head>
<title>Title</title>

<script type="text/javascript" src="https://raw.githubusercontent.com/kripken/sql.js/master/js/sql.js"></script>
<script type="text/javascript" src="https://raw.githubusercontent.com/kripken/sql.js/master/js/worker.sql.js"></script>
<script src='sql.js'></script>

<script type="text/javascript">
var xhr = new XMLHttpRequest();
xhr.open('GET', 'data.db', true);
xhr.responseType = 'arraybuffer';

xhr.onload = function(e) {
  var uInt8Array = new Uint8Array(this.response);
  var db = new SQL.Database(uInt8Array);
  var contents = db.exec("SELECT * FROM my_table");
};
xhr.send();
</script>
</head>
<body>

<h1>Database Data</h1>

...data to display here...
EN

回答 1

Stack Overflow用户

发布于 2017-08-20 19:04:56

我希望你已经找到了答案,所以我的答案只是给后人看的。我也花了一段时间才找到一个解决方案,但代码应该会指引你找到一个解决方案。

代码语言:javascript
复制
<html>
<head>
<title>Title</title>
<script type="text/javascript" src="https://raw.githubusercontent.com/kripken/sql.js/master/js/sql.js"></script>
<script type="text/javascript" src="https://raw.githubusercontent.com/kripken/sql.js/master/js/worker.sql.js"></script>
<!--
<script type="text/javascript" src="sql.js"></script>
<script type="text/javascript" src="worker.sql.js"></script>
-->

<script type="text/javascript">
var path = "http://alasql.org/demo/016sqlite/Chinook_Sqlite.sqlite";
//var path = "016sqlite_files/Chinook_Sqlite.sqlite"
var xhr = new XMLHttpRequest();
xhr.open('GET', path, true);
xhr.responseType = 'arraybuffer';

xhr.onload = function(e) {
  var uInt8Array = new Uint8Array(this.response);
  var db = new SQL.Database(uInt8Array);
  //var contents = db.exec("SELECT name FROM sqlite_master where type='table'");
  var contents = db.exec("SELECT * FROM Playlist");
  //alert(JSON.stringify(contents));

  var table_string = '<table>';
  if (contents) {
    table_string += '<tr>';
    for (var index in contents[0].columns) {
      table_string += '<th>' + contents[0].columns[index] + '</th>';
    } 
    table_string += '</tr>';
    for (var row_index in contents[0].values) {
      table_string += '<tr>';
      for (var col_index in contents[0].values[row_index]) {
        table_string += '<td>' + contents[0].values[row_index][col_index] + '</td>';
      }
      table_string += '</tr>';
    }

    }

table_string += '</table>';
    //alert(table_string);
    document.getElementById("res").innerHTML = table_string;    
}
xhr.send();

</script>
</head>
<body>

<h1>Database Data</h1>
<p id="res"></p>
</body>
</html>

对于一些快速的错误检查,我使用了本地文件,但代码应该可以按原样工作。这些链接可能会进一步帮助您:

https://github.com/kripken/sql.js/issues/207 https://github.com/kripken/sql.js/blob/master/README.md

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39523375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档