jquery - 如何在不同页面访问phonegap数据库?

标签 jquery sqlite cordova

我已经使用数据库创建了一个数据库并在 ListView 中显示,但我想使用相同的 数据库在另外两个页面中,那么我如何在多个页面中访问同一个数据库? 请浏览我的代码..

 var db = window.openDatabase("Mydatabase", "1.0", "Just a My DB", 200000); //will create database Mydatabase or open it
    function onDeviceReady(){
        db.transaction(populateDB, errorCB, successCB);
    }
    function populateDB(tx) {
        tx.executeSql('CREATE TABLE IF NOT EXISTS ALLWORDS (id INTEGER PRIMARY KEY AUTOINCREMENT, Word TEXT NOT NULL, Type_Of_Word TEXT NOT NULL)');

    }
    function errorCB(err) {
        alert("error in database : "+err);
    }

    function successCB() {
        alert("successs!");
        db.transaction(queryDB,errorCB);
    }

    function queryDB(tx){
        tx.executeSql('SELECT * FROM ALLWORDS',[],querySuccess,errorCB);

最佳答案

重要的一行是:

 var db = window.openDatabase("Mydatabase", "1.0", "Just a My DB", 200000); 

如果数据库不存在,它将创建它,如果存在,它将返回到该数据库的连接。

所以你可以把这一行放在一个单独的js文件中,我们称之为global.js,然后将它包含在你需要的每个页面中,之后包含的所有脚本都会知道该变量,例如:

global.js

...
var db = window.openDatabase("Mydatabase", "1.0", "Just a My DB", 200000); //should be defined in the script itself, not inside of a function.
...

script.js

//in the HTML this is included after the global.js so it knows the db variable
function onDeviceReady(){
        db.transaction(populateDB, errorCB, successCB);
    }

HTML

//global should always come first
<script src="global.js" type="text/javascript"></script>
<script src="script.js" type="text/javascript"></script>

这样,您只需定义一次。当然,在全局中,您应该放置将被许多文件使用的所有其他函数/变量。

关于jquery - 如何在不同页面访问phonegap数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11846258/

相关文章:

"border-radius"值的 Javascript/jQuery 正则表达式

javascript - 动态添加脚本标签到加载的 HTML - IE7 和 8 中的错误

json - 列出PhoneGap IOS中目录的所有文件

javascript - 带有 phonegap 和 firebase 的移动应用程序

android - Cordova FileOpener Android - 找不到本地文件位置

javascript - 从上到下过渡 n 秒后如何在顶部显示通知栏?

jquery - 对所需的智能感知和 js 文件感到困惑

java - 将android中的长字符串保存到sqlite数据库中

python - 为什么我必须为 SQLAlchemy 更改 Flask 中的 uri?

django - 如何将 Django SQLite 数据库内容放入 Heroku PostGreSQL 数据库?