HTML5 webSQL


 
<!DOCTYPE HTML>
<html>
<head>
    <script type="text/javascript">

        var msg;

        // 可以有多個數據庫,但無法遍歷,
        // 包括空字符串在內的所有字符串都可以作為有效地數據庫名稱,數據庫名稱區分大小寫,且可以比較。
        // 一個數據庫只能有一個版本號
        // 一個顯示名字(displayName),
        // 數據庫將要保存數據的大小(estimatedSize,以字節為單位 )
        // 一個可選的回調函數(createionCallback,如果數據庫沒有被創建,這個函數將會被調用 )
        var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);

        // 方法 transaction() 和 readTransaction() 有一個到三個參數, 
        // 后兩個參數為可選的,分別表示錯誤回調函數和成功回調函數。
        // transaction() 方法為 read/write 模式,readTransaction() 方法為只讀模式;
        db.transaction(function (tx) {
               tx.executeSql('CREATE TABLE IF NOT EXISTS ques (id unique, log)');
               tx.executeSql('INSERT INTO ques (id, log) VALUES (4, "foobar")');
               tx.executeSql('INSERT INTO ques (id, log) VALUES (3, "logmsg")');

               msg = '<p>Log message created and row inserted.</p>';
            document.querySelector('#status').innerHTML =   msg;
        },function(){alert('e');},function(){alert('s');});


        // executeSql這個函數具有四個參數:
        // 表示查詢的字符串(sqlStatement);
        // 插入到查詢語句中問號所在處的字符串數據(arguments);
        // 一個可選的成功時執行函數(callback);
        // 一個可選的失敗時執行函數(errorCallback)。

        // 查詢結果是一個對象
        // 插入數據庫,insertId 代表這個行號;如果插入多行數據,insertId 代表插入數據的最后一行行號。
        // 改變的行數用 rowsAffected 表示,沒有改變 rowsAffected 為 0,“SELECT”語句,rowsAffected 就為 0.
        // rows 為一個 SQLResultSetRowList 對象,代表數據庫按順序返回的行。如果沒有返回任何行,則這個對象為空。
        db.transaction(function (tx) {
            tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {
                var len = results.rows.length, i;
                     msg = "<p>Found rows: " + len + "</p>";
                     document.querySelector('#status').innerHTML +=   msg;
                for (i = 0; i < len; i++){
                       msg = "<p><b>" + results.rows.item(i).log + "</b></p>";
                       document.querySelector('#status').innerHTML +=   msg;
                }
             }, null);
        });
    </script>
</head>
<body>
    <div id="status" name="status">Status Message</div>
</body>
</html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM