5

我正在使用带有Phonegap 的数据库。我需要知道数据库是否已经创建。如果数据库已经存在,我试图避免整个创建表和插入行功能。

var db = window.openDatabase("数据库", "1.0", "FiltersResults", 50000000);

这会打开/创建我的数据库,好的,但是我怎么知道这个数据库是否已经存在?

4

2 回答 2

0

var db = window.openDatabase("myDB", "1.0", "FiltersResults", 50000000);检查您是否有一个被调用的数据库,如果myDB它存在,它会打开它。如果没有,它会创建一个并打开它。因此,如果您看到它创建多个数据库,以下可能是我能想到的两个原因

  • 您有多个运行该 URL 的窗口,只需完全退出浏览器并使用该 URL 打开一个寡妇
  • 是 Safari 5.1.2 中引入的与 UI 相关的已知错误,已在后续版本中修复。
于 2014-12-18T16:24:47.667 回答
-1

检查文档:http ://docs.phonegap.com/en/3.0.0/cordova_storage_storage.md.html#Storage

function populateDB(tx) {
    tx.executeSql('DROP TABLE IF EXISTS DEMO');
    tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
    tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
    tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
}

function errorCB(err) {
    alert("Error processing SQL: "+err.code);
}

function successCB() {
    alert("success!");
}

var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
db.transaction(populateDB, errorCB, successCB);
于 2013-10-10T16:04:05.440 回答