Black Berry的Ripple Emulator:如何使用sql lite?

时间:2013-01-03 13:55:17

标签: javascript html5 sqlite blackberry ripple

我需要在哪里放置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);
    }
}

提前致谢, 西蒙

1 个答案:

答案 0 :(得分:0)

您不需要将数据库放在任何地方。当您的应用程序调用window.openDatabase()时,系统会确定保存数据库的位置。

但是我确实在您的代码段中看到了问题。在db = window.openDatabase()之后立即调用db.transaction。由于这两个语句都是异步的,因此无法保证在您开始交易时数据库已被打开。

这是一个可以帮助您入门的工作示例? http://blackberry.github.com/WebWorks-Samples/kitchenSink/js/html5/webdb.js