我在phonegap中打开一个SQLite数据库。 这是我的javascript代码:
SELECT s.clg, count(*) as cnt
FROM sample s
GROUP BY s.clg
ORDER BY cnt DESC ;
这是工作,我可以从我的数据库中获取数据。 我的问题是我无法在计算机上找到我的数据库。 有人能告诉我在哪里可以找到它吗?
我尝试了这个,但它对我不起作用。
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);
}
我正在使用cordova-sqlite-storage插件。
这是我项目的config.xml文件:
myDB = window.sqlitePlugin.openDatabase({name: 'test.db', location: 'default'});
答案 0 :(得分:1)
使用window.openDatabase
时,您使用&#34; Web SQL&#34;。此功能由浏览器直接提供。存储数据的位置取决于您使用的浏览器。默认情况下,Web SQL中可用的存储空间是受限制的。根据您使用的浏览器,您可以增加允许的存储空间量。
例如,在Chrome中,您可以通过开发人员工具访问数据库:
使用SQLite不适用于您当前使用的设置。在普通浏览器中打开Phonegap Desktop提供的应用程序时,您无法访问本地计算机/设备。要使用需要访问设备的插件,您必须在&#34; Phonegap Developer App&#34;中打开Phonegap Desktop提供的应用程序。在您的移动设备上。
有关说明,请参阅this doc page。