sqlite如何在Firefox附加组件中使用javascript?

时间:2011-09-02 13:53:01

标签: javascript sqlite firefox-addon

我如何使用sqlite?当我想要使用它时命令是什么:

SELECT * FROM table

? (我的意思是像PHP我需要使用mysql_query("SELECT * FROM table");

当我得到一张包含记录的表格时,命令是什么,我想把它分开? (在PHP中:mysql_fetch_assoc()mysql_fetch_array()

我在表var中使用了SELECT * FROM table并且我将其分开。 (该表包含以下列:id, name, pass)如何获取列值?

这是Javascript与数据库的连接:

Components.utils.import("resource://gre/modules/Services.jsm");
Components.utils.import("resource://gre/modules/FileUtils.jsm");

let file = FileUtils.getFile("ProfD", ["my_db_file_name.sqlite"]);
let mDBConn = Services.storage.openDatabase(file);

如何创建表格(如果它不存在),我如何SELECTUPDATEDELETE等。

如何使用javascript和sqlite执行此操作: 例子(它在php,mysql中写道):

mysql_connect("localhost","user","pass"); // pass if need
mysql_select_db("my_database");

mysql_query("CREATE TABLE `my_database`.`table` (`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,`nev` VARCHAR( 50 ) NOT NULL ,`pass` VARCHAR( 20 ) NOT NULL ,INDEX ( `nev` )) ENGINE = InnoDB HARACTER SET utf8 COLLATE utf8_unicode_ci;");

mysql_query("INSERT INTO table (name,pass) VALUES ('Peter','sdf')");

$query=mysql_query("SELECT * FROM table");
while($row=mysql_fetch_array($query)){
    echo $row['name'].' '.$row['pass']; // it write all record, like 'name pass' ('Peter sdf')
}

$row2=mysql_fetch_assoc(mysql_query("SELECT * FROM table WHERE id=1"));
echo $row2['name'].' '.$row2['pass']; // it write only 'Peter sdf'

mysql_query("DELETE FROM table WHERE id=1");

mysql_query("DROP TABLE 'table'");

mysql_close();

如何在javascript中使用sqlite进行此操作?

2 个答案:

答案 0 :(得分:1)

您应该使用Mozilla Storage API来处理SQLite数据库。请参阅https://developer.mozilla.org/En/Storage

答案 1 :(得分:1)

有一个第三方库使用sqlite和firefox addon API:
https://github.com/julianceballos/sqlite-jetpack

实际上,库只是一个简单的包装器(查看源代码)。