将 SQLite 与 Phonegap 桌面一起使用
Using SQLite with Phonegap Desktop
我正在 phonegap 中打开一个 SQLite 数据库。
这是我的 javascript 代码:
var myDB = null;
function onDeviceReady()
{
myDB = window.openDatabase("test", "1.0", "Test DB", 1000000);
//myDB = window.sqlitePlugin.openDatabase({name: 'test.db', location: 'default'});
alert("yal");
myDB.transaction(PopulateDatabase,errorDB,successDB);
myDB.transaction(queryDB, errorCB, querySuccess);
}
function PopulateDatabase(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 errorDB(error)
{
alert("Error on Database creation : " + error);
}
function successDB()
{
alert("Database is created successfully");
}
function queryDB(tx) {
tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
}
function querySuccess(tx, results) {
var len = results.rows.length;
alert("DEMO table: " + len + " rows found.");
for (var i=0; i<len; i++){
alert("Row = " + i + " ID = " + results.rows.item(i).id + " Data = " + results.rows.item(i).data);
}
alert("success");
}
function errorCB(err) {
alert("Error processing SQL: "+err.code);
}
这是工作,我可以从我的数据库中获取数据。
我的问题是我在我的电脑上找不到我的数据库。
谁能告诉我在哪里可以找到它?
我试过了,但对我不起作用。
myDB = window.sqlitePlugin.openDatabase({name: 'test.db', location: 'default'});
我正在使用 cordova-sqlite-storage 插件。
这是我的 config.xml 项目文件:
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.phonegap.helloworld" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0">
<name>yal</name>
<description>
A blank PhoneGap app.
</description>
<author email="support@phonegap.com" href="http://phonegap.com">
PhoneGap Team
</author>
<content src="index.html" />
<access origin="*" />
<plugin name="cordova-sqlite-ext" spec="~0.10.2" />
使用 window.openDatabase
的数据库存储位置
当使用 window.openDatabase
时,您使用“Web SQL”。此功能由浏览器直接提供。数据的存储位置取决于您使用的浏览器。默认情况下,Web SQL 中可用的存储空间 space 是有限的。根据您使用的浏览器,您可以增加允许的存储量 space。
例如,在Chrome中,您可以通过开发者工具访问数据库:
将 SQLite 与 Phonegap Desktop 结合使用
使用 SQLite 不适用于您当前使用的设置。在普通浏览器中打开 Phonegap Desktop 提供的应用程序时,您无权访问本地 computer/device。为了使用需要访问设备的插件,您必须在移动设备上的 "Phonegap Developer App" 中打开由 Phonegap Desktop 提供的应用程序。
有关说明,请参阅 this doc page。
我正在 phonegap 中打开一个 SQLite 数据库。 这是我的 javascript 代码:
var myDB = null;
function onDeviceReady()
{
myDB = window.openDatabase("test", "1.0", "Test DB", 1000000);
//myDB = window.sqlitePlugin.openDatabase({name: 'test.db', location: 'default'});
alert("yal");
myDB.transaction(PopulateDatabase,errorDB,successDB);
myDB.transaction(queryDB, errorCB, querySuccess);
}
function PopulateDatabase(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 errorDB(error)
{
alert("Error on Database creation : " + error);
}
function successDB()
{
alert("Database is created successfully");
}
function queryDB(tx) {
tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
}
function querySuccess(tx, results) {
var len = results.rows.length;
alert("DEMO table: " + len + " rows found.");
for (var i=0; i<len; i++){
alert("Row = " + i + " ID = " + results.rows.item(i).id + " Data = " + results.rows.item(i).data);
}
alert("success");
}
function errorCB(err) {
alert("Error processing SQL: "+err.code);
}
这是工作,我可以从我的数据库中获取数据。 我的问题是我在我的电脑上找不到我的数据库。 谁能告诉我在哪里可以找到它?
我试过了,但对我不起作用。
myDB = window.sqlitePlugin.openDatabase({name: 'test.db', location: 'default'});
我正在使用 cordova-sqlite-storage 插件。
这是我的 config.xml 项目文件:
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.phonegap.helloworld" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0">
<name>yal</name>
<description>
A blank PhoneGap app.
</description>
<author email="support@phonegap.com" href="http://phonegap.com">
PhoneGap Team
</author>
<content src="index.html" />
<access origin="*" />
<plugin name="cordova-sqlite-ext" spec="~0.10.2" />
使用 window.openDatabase
的数据库存储位置当使用 window.openDatabase
时,您使用“Web SQL”。此功能由浏览器直接提供。数据的存储位置取决于您使用的浏览器。默认情况下,Web SQL 中可用的存储空间 space 是有限的。根据您使用的浏览器,您可以增加允许的存储量 space。
例如,在Chrome中,您可以通过开发者工具访问数据库:
将 SQLite 与 Phonegap Desktop 结合使用
使用 SQLite 不适用于您当前使用的设置。在普通浏览器中打开 Phonegap Desktop 提供的应用程序时,您无权访问本地 computer/device。为了使用需要访问设备的插件,您必须在移动设备上的 "Phonegap Developer App" 中打开由 Phonegap Desktop 提供的应用程序。
有关说明,请参阅 this doc page。