Firefox插件开发:SQLite数据库连接
因此,我正在使用MDN的附加组件生成器开发此附加组件,并且需要连接SQLite数据库。只要插入没有绑定参数的值(即,通过executeSimpleSQL()),就可以很好地创建连接和插入。只要我使用createStatement()方法插入值,它就不起作用。以下是我到目前为止所做的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
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()
“不起作用”相当模糊……嗯,“不起作用”表示它没有在表中插入值。