我使用数据库创建了一个数据库并在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);
答案 0 :(得分:1)
重要的一点是:
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>
这样,你只需要定义一次。当然,在全局中,您应该放置许多文件将要使用的所有其他函数/变量。