1

我必须将 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);
    }
}

在此先感谢,西蒙

4

1 回答 1

0

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

但是,我确实在您的代码片段中看到了问题。在 db = window.openDatabase() 之后立即调用 db.transaction。由于这两个语句都是异步的,因此不能保证在您启动事务时数据库已经打开。

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

于 2013-01-14T14:59:14.747 回答