【发布时间】:2016-02-05 13:29:22
【问题描述】:
我是 Cordova 和 Sqlite 的新手,但我写了一些代码,但我不知道它有什么问题?有什么建议? 我总是从 Javascript 调试器得到以下输出:
<script type="text/javascript">
// Wait for Cordova to load
document.addEventListener('deviceready', onDeviceReady, false);
var output = document.getElementById('outputField');
// Cordova is ready
function onDeviceReady() {
window.sqlitePlugin.openDatabase({ name: 'test.db', location: 2 }, function (db) {
output.innerHTML += '</br> - Database created/opened';
db.transaction(function (tx) {
tx.executeSql(tx, "CREATE TABLE localStorage2 IF NOT EXISTS (key UNIQUE, value)");
});
output.innerHTML += '</br> - Table localStorage2 Created';
storeValue(db, 'localStorage2', 'testKey', 'testValue');
output.innerHTML += '</br> - Insert dummy value';
output.innerHTML += '</br> ' + readValue(db, 'localStorage2', 'testKey');
});
}
function storeValue(db, table, key, value) {
db.transaction(function (tx) {
tx.executeSql(tx, 'INSERT INTO ' + table + ' (key,value) VALUES ("' + key + '","' + value + '")');
});
}
function readValue(db, table, key) {
db.transaction(function (tx) {
return db.executeSql(tx, 'SELECT * FROM ' + table + ' WHERE key="' + key + '"');
});
}
</script>
【问题讨论】:
-
你用过 SQLite 的插件吗?如果是,那么您也可以在没有任何插件的情况下使用 SQLite。查看链接:stackoverflow.com/questions/33879785/…
-
请在此处阅读文档:github.com/litehelpers/Cordova-sqlite-storage 您的主要问题是,您的代码不是事件驱动的。您不能在事件驱动脚本中使用返回值。
-
@Dhruv 我使用 Joerg 描述的 SQLite 插件
-
@Joerg 事件驱动是什么意思?能举个小例子吗
标签: javascript sqlite cordova visual-studio-2015 cordova-plugins