电子,SQL.JS,jQuery 和填充数据表
Electron, SQL.JS, jQuery and populating Datatables
我在使用 Electron 创建的应用程序中有一个 table,如下所示。我正在使用 jQuery、Datatables 和 SQL.js:-
<table id="dataTable" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>Date</th>
<th>Code</th>
<th>Category</th>
<th>Hours</th>
<th>Cost</th>
<th>Billed</th>
<th>Description</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Date</th>
<th>Code</th>
<th>Category</th>
<th>Hours</th>
<th>Cost</th>
<th>Billed</th>
<th>Description</th>
</tr>
</tfoot>
</table>
以下用于填充 table 的代码无法正常工作:-
$(document).ready(function() {
var DB = null;
var t = $('#dataTable').DataTable();
$(".bottomMenuContainer").on("click", ".loadButton", function(e) {
var fs = require('fs');
var sql = require('sql.js');
var bfr = fs.readFileSync(__dirname + '/../data/EliteData.db');
DB = new sql.Database(bfr);
var stmt = DB.prepare("SELECT * FROM ProductEntries ORDER BY Category");
while(stmt.step()){
var row = stmt.getAsObject();
t.rows.add([row.Date, row.Code, row.Category, row.Hours, row.Cost, row.Billed, row.Description]).draw(false);
}
});
});
我收到第 0 行第 1 列错误消息的请求未知参数“1”,数据最终显示在 table 上,并且有 21 个结果而不是 3实际的数据库。
知道发生了什么吗?
答案是创建一个数组并将数据推入数组,然后将其添加到table。然后绘制table.
while(stmt.step()){
var row = stmt.getAsObject();
var result = [];
result.push(row.Date);
result.push(row.Code);
result.push(row.Category);
result.push(row.Hours);
result.push(row.Cost);
result.push(row.Billed);
result.push(row.Description);
t.row.add(result);
}
t.draw();
很高兴看到你自己整理了它@Resurgent :-)。虽然我自己玩了一点,并放弃了像这样添加单行:
let res = db.exec("SELECT * FROM ProductEntries");
table.rows.add(res[0].values).draw();
This 是一个有效的 JSFiddle,感谢您对 SQL.js 的介绍,看起来很有趣!
我在使用 Electron 创建的应用程序中有一个 table,如下所示。我正在使用 jQuery、Datatables 和 SQL.js:-
<table id="dataTable" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>Date</th>
<th>Code</th>
<th>Category</th>
<th>Hours</th>
<th>Cost</th>
<th>Billed</th>
<th>Description</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Date</th>
<th>Code</th>
<th>Category</th>
<th>Hours</th>
<th>Cost</th>
<th>Billed</th>
<th>Description</th>
</tr>
</tfoot>
</table>
以下用于填充 table 的代码无法正常工作:-
$(document).ready(function() {
var DB = null;
var t = $('#dataTable').DataTable();
$(".bottomMenuContainer").on("click", ".loadButton", function(e) {
var fs = require('fs');
var sql = require('sql.js');
var bfr = fs.readFileSync(__dirname + '/../data/EliteData.db');
DB = new sql.Database(bfr);
var stmt = DB.prepare("SELECT * FROM ProductEntries ORDER BY Category");
while(stmt.step()){
var row = stmt.getAsObject();
t.rows.add([row.Date, row.Code, row.Category, row.Hours, row.Cost, row.Billed, row.Description]).draw(false);
}
});
});
我收到第 0 行第 1 列错误消息的请求未知参数“1”,数据最终显示在 table 上,并且有 21 个结果而不是 3实际的数据库。
知道发生了什么吗?
答案是创建一个数组并将数据推入数组,然后将其添加到table。然后绘制table.
while(stmt.step()){
var row = stmt.getAsObject();
var result = [];
result.push(row.Date);
result.push(row.Code);
result.push(row.Category);
result.push(row.Hours);
result.push(row.Cost);
result.push(row.Billed);
result.push(row.Description);
t.row.add(result);
}
t.draw();
很高兴看到你自己整理了它@Resurgent :-)。虽然我自己玩了一点,并放弃了像这样添加单行:
let res = db.exec("SELECT * FROM ProductEntries");
table.rows.add(res[0].values).draw();
This 是一个有效的 JSFiddle,感谢您对 SQL.js 的介绍,看起来很有趣!