Firefox插件开发:SQLite数据库连接

Firefox插件开发:SQLite数据库连接,sqlite,firefox,firefox-addon,firefox-addon-sdk,add-on,Sqlite,Firefox,Firefox Addon,Firefox Addon Sdk,Add On,因此,我正在使用MDN的附加组件生成器开发此附加组件,并且需要连接SQLite数据库。只要插入没有绑定参数的值(即,通过executeSimpleSQL()),就可以很好地创建连接和插入。只要我使用createStatement()方法插入值,它就不起作用。以下是我到目前为止所做的 let file = FileUtils.getFile("Desk", ["my_db_file_name.sqlite"]); let mDBConn = Services.storage.openDatabas

因此,我正在使用MDN的附加组件生成器开发此附加组件,并且需要连接SQLite数据库。只要插入没有绑定参数的值(即,通过executeSimpleSQL()),就可以很好地创建连接和插入。只要我使用createStatement()方法插入值,它就不起作用。以下是我到目前为止所做的

let file = FileUtils.getFile("Desk", ["my_db_file_name.sqlite"]);
let mDBConn = Services.storage.openDatabase(file); 
mDBConn.executeSimpleSQL("CREATE TEMP TABLE IF NOT EXISTS element (rating VARCHAR(50))");

let stmt = mDBConn.createStatement("INSERT INTO element (rating) VALUES(:value)");
stmt.params.value = 13;

//mDBConn.executeSimpleSQL("INSERT INTO element (rating) VALUES(13)");

var statement = mDBConn.createStatement("SELECT * FROM element WHERE rating = :rat");
statement.params.rat = 13;
try {
  while (statement.step()) {
    let value = statement.row.rating;
    console.log(value);
  }
}
finally {
  statement.reset();
}
请注意,带有绑定参数的SELECT语句工作正常,问题在于INSERT语句


有什么想法吗?

您忘记调用
execute()

“不起作用”相当模糊……嗯,“不起作用”表示它没有在表中插入值。