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を保存する場所を決定します。

ただし、コードスニペットに問題があります。db = window.openDatabase()の直後にdb.transactionを呼び出します。これらのステートメントは両方とも非同期であるため、トランザクションを開始するまでにデータベースが開かれているという保証はありません。

これがあなたが始めるのを助けるかもしれない実用的な例ですか? http://blackberry.github.com/WebWorks-Samples/kitchenSink/js/html5/webdb.js

于 2013-01-14T14:59:14.747 に答える