我需要在哪里放置sql lite数据库才能使用类似以下的sql lite脚本访问它的应用程序? :
function GetComuni(dbName,sqlStmt)
{
try
{
if (!window.openDatabase) {
alert('Databases are not supported on this device. Sorry', 'error');
} else {
var db;
var version = '1.0';
var maxSize = 102400;
db = window.openDatabase(dbName, version, dbName, maxSize);
db.transaction(
function (tx) {
tx.executeSql(sqlStmt, [], function (tx, result) {
var schemanode = document.GetElementById('COMUNI');
schemanode.innerHTML = "";
dataset = result.rows;
for (var i = 0, item = null; i < dataset.length; i++) {
item = dataset.item(i);
var notediv = document.createElement('div');
notediv.innerHTML = 'Codice Provincia:' + item['PROVINCIA'] + 'Nome:' + item['NAME'];
schemanode.appendchild(notediv);
}
}
)
}
)
}
}
catch(ex)
{
alert(ex);
}
}
提前致谢, 西蒙
答案 0 :(得分:0)
您不需要将数据库放在任何地方。当您的应用程序调用window.openDatabase()时,系统会确定保存数据库的位置。
但是我确实在您的代码段中看到了问题。在db = window.openDatabase()之后立即调用db.transaction。由于这两个语句都是异步的,因此无法保证在您开始交易时数据库已被打开。
这是一个可以帮助您入门的工作示例? http://blackberry.github.com/WebWorks-Samples/kitchenSink/js/html5/webdb.js