3

我正在做一个小项目,我将从 SQLite 数据库中读取一些参数。数据是从运行 C 代码的 Linux 服务器生成的。然后我想使用 JavaScript 创建一个脚本来从数据库中获取数据。我尝试过使用 alasql.js,但需要很长时间(约 1 分钟)才能从两个表中获取包含参数的列表。

SELECT sensors.id, sensors.sensorname, sensors.sensornumber, information.sensorvalue, information.timestamp FROM sensors INNER JOIN information ON sensors.id=information.sensorid 

我一直在阅读有关 IndexedDB 的信息,但似乎它只适用于 JavaScript,但不适用于 C 代码。如果我错了,请纠正我。这里的线索是我想要一个支持从 C 代码写入数据库并从 JavaScript 读取数据库的数据库。可以从 file:// 模式或 IP 地址读取数据库。

将不胜感激有关此问题的任何帮助。谢谢!

4

1 回答 1

3

不幸的是,SQLite 内部文件格式很难用 JavaScript 快速解析。原因之一,唯一可以读取它的浏览器端库是SQL.js,它比较慢,因为它不能从数据库文件中读取选定页面的数据,而只能读取整个文件。

选项之一:您可以从 SQLite 格式切换到 CSV 或 TSV 纯 tet 格式,可以轻松快速地发送到浏览器并使用jQuery.CSVPapaParse、 AlaSQL 或任何其他 CSV 解析库进行解析,例如:

alasql('SELECT * FROM TSV("mydata.txt",{headers:true})',[],function(data){
       // data
});

另一种选择:您可以在 node.js 上编写简单的服务器,并原生支持 SQLite,然后使用 ajax 以 JSON 格式向您的应用程序提供请求的记录(如本文中所示)

于 2015-04-17T10:00:14.610 回答