如何在带有Javascript源代码的Firefox扩展(XUL文件)中使用SQLite?
我想编写一个Firefox扩展,创建一个SQLite数据库,然后在其中放入一些记录。但是,我在运行语句时出错 以下是xul文件:如何在带有Javascript源代码的Firefox扩展(XUL文件)中使用SQLite?,javascript,sqlite,firefox,Javascript,Sqlite,Firefox,我想编写一个Firefox扩展,创建一个SQLite数据库,然后在其中放入一些记录。但是,我在运行语句时出错 以下是xul文件: 这是尝试创建数据库和记录的javascript插件: Components.utils.import(“resource://gre/modules/Services.jsm"); Components.utils.import(“resource://gre/modules/FileUtils.jsm") var dbFile=FileUtils.getFile
这是尝试创建数据库和记录的javascript插件:
Components.utils.import(“resource://gre/modules/Services.jsm");
Components.utils.import(“resource://gre/modules/FileUtils.jsm")
var dbFile=FileUtils.getFile(“ProfD”,[“test.sqlite”]);
var dbService=Components.classes[“@mozilla.org/storage/service;1”]。
getService(组件、接口、mozIStorageService);
DBVAR连接;
日志(“连接…”)
dbConnection=dbService.openDatabase(dbFile);
console.log(“\tOK”)
var statement=dbConnection.createStatement(“从mytest中选择*);
var res=statement.executeStep();
但浏览器控制台中存在如下错误:
NS\U错误\U故障:组件返回故障代码:0x80004005(NS\U错误\U故障)[mozIStorageConnection.createStatement]
以下是脚本扩展的完整源代码:
有人能帮忙吗,问题出在哪里?好吧,您没有创建
mytest
表,因此SELECT语句失败。试一试
...
dbConnection = dbService.openDatabase(dbFile);
console.log("\tOK")
dbConnection.createTable("mytest", "foo INTEGER, bar STRING");
dbConnection.executeSimpleSQL("insert into mytest (foo,bar) values (1,'test')")
...
您可以在Firefox中使用SQLite管理器插件。它有许多好的特性。