Omi*_*iod 8 sqlite html5 json export google-chrome-extension
我正在开发一个使用WebSQL存储历史数据的Chrome扩展程序.作为WebSQL,DB存储在客户端上.
我想添加一个导出/导入此类数据的选项,以便用户可以与其他用户或其他PC共享/使用此数据.
这是我在仅客户端数据库上的第一步,所以我想知道如何做到这一点.我想将数据库转换为一个巨大的json字符串,用户可以复制/粘贴,但看起来不是非常用户友好.
有没有更好的解决方案?
Ste*_*las 16
我在几天前写的HTML5数据库客户端上有一个表转储解决方案.
查看http://html5db.desalasworks.com/script.js并向下滚动到SqlClient.exportTable,这个示例需要扩展以覆盖整个数据库.
步骤是:
第1步:创建架构:
SELECT sql FROM sqlite_master
Run Code Online (Sandbox Code Playgroud)
第2步:获取表格列表:
SELECT tbl_name from sqlite_master WHERE type = 'table'
Run Code Online (Sandbox Code Playgroud)
第3步:遍历每个循环并创建包含结果的INSERT脚本
transaction.executeSql("SELECT * FROM " + _tbl_name + ";", [],
function(transaction, results) {
if (results.rows) {
for (var i = 0; i < results.rows.length; i++) {
var row = results.rows.item(i);
var _fields = [];
var _values = [];
for (col in row) {
_fields.push(col);
_values.push('"' + row[col] + '"');
}
_exportSql += ";\nINSERT INTO " + _tbl_name + "(" + _fields.join(",") + ") VALUES (" + _values.join(",") + ")";
}
}
}
);
Run Code Online (Sandbox Code Playgroud)
希望这很有用.
2016年1月更新 - 整个数据库导出
我有一个JS websqldump库,你也可以从github下载.
这个将导出整个数据库.查看以下代码:
https://github.com/sdesalas/websqldump
用法如下
websqldump.export({
database: 'NorthwindLite',
success: function(sql) {alert(sql);}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12341 次 |
| 最近记录: |