gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 05:33:38 27 4
gpt4 key购买 nike

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

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

<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...

最佳答案

我希望您已经找到答案,所以我的答案仅供后代使用。我也花了一段时间才找到解决方案,但代码应该会引导您找到解决方案。

<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

关于javascript - 使用 sql.js 在 HTML 页面中显示 SQLite .db,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39523375/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com