【问题标题】:Can't create SQL-DB无法创建 SQL-DB
【发布时间】:2012-10-27 15:13:16
【问题描述】:

无法创建数据库。我使用 Xcode 4.4,最新的 PhoneGap 版本。

通常在 User/.../iPhone Simulator/.../Documents/tapp.sql 中应该有一个数据库。但是什么都没有。我来点警报(“2”)。有什么想法吗?

我的代码:

        <script type="text/javascript" src="cordova-2.1.0.js"></script>
        <script type="text/javascript" charset="utf-8">
            function onBodyLoad()
            {
                alert("0");
               document.addEventListener("deviceready", onDeviceReady,false);
            }                    

            /* When this function is called, PhoneGap has been initialized and is ready to roll */
            function onDeviceReady()
            {
                alert("1");
                try {
                  alert("2");
                        var shortName = 'tapp';
                        var version = '1.0';
                        var displayName = 'Tumblr App Database';
                        var maxSize = 65536;
                        db = openDatabase(shortName, version, displayName,  maxSize);
                } catch (e) {
                    debug.error(e);
                }
            }
            </script>
        </head>
<body onLoad="onBodyLoad();" >



    <button onclick="createDatabase();">Database</button>
    <button onclick="createTables();">Tables</button>
</body>

【问题讨论】:

  • 我需要插件吗?我需要在 Xcode 中导入库吗?

标签: javascript ios sql sqlite cordova


【解决方案1】:

为确保文件被实际创建,向数据库中写入一些内容。

【讨论】:

    【解决方案2】:

    试试这个

     <script type="text/javascript" charset="utf-8">
    
    // Wait for Cordova to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);
    
    // Cordova is ready
    //
    function onDeviceReady() {
        var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
        db.transaction(populateDB, errorCB, successCB);
    }
    
    // Populate the database 
    //
    function populateDB(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")');
    }
    
    // Transaction error callback
    //
    function errorCB(tx, err) {
        alert("Error processing SQL: "+err);
    }
    
    // Transaction success callback
    //
    function successCB() {
        alert("success!");
    }
    
    </script>
    

    参考此链接:Phonegap- storage

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-14
      • 1970-01-01
      • 2015-08-14
      • 1970-01-01
      • 1970-01-01
      • 2014-11-01
      • 2014-04-27
      • 1970-01-01
      相关资源
      最近更新 更多