精品免费在线观看-精品欧美-精品欧美成人bd高清在线观看-精品欧美高清不卡在线-精品欧美日韩一区二区

17站長網

17站長網 首頁 編程教程 Html5教程 查看內容

HTML5 Web SQL 數據庫

Web sql 數據庫 API 并不是 html5 規范的一部分,它是一個獨立的規范,引入了一組使用 sql 操作客戶端數據庫的 APIs

Web sql 核心方法

下表列出了在 Web sql 規范中定義的三個核心方法

方法描述
openDatabase使用現有的數據庫或者新建的數據庫創建一個數據庫對象
transaction讓我們能夠控制一個事務,以及基于這種情況執行提交或者回滾
executesql用于執行實際的 sql 查詢


打開數據庫

方法 openDatabase() 用來打開一個數據庫

如果數據庫不存在,則會創建一個新的數據庫

使用方法

var db = openDatabase('ysdb','1.0','My first DB',2 * 1024 * 1024,function(){});

參數說明

參數說明
'ysDB'數據庫名稱
'1.0'版本號
'My first DB '描述文本
'2 * 1024 * 1024'數據庫大小
func創建回調,回調函數會在創建數據庫后被調用


執行查詢操作

方法 database.transaction() 用來執行一個事物查詢操作

var db = openDatabase('ysdb',2 * 1024 * 1024);
db.transaction(function (tx) {  
   tx.executesql('CREATE TABLE IF NOT EXISTS logs (id unique,log)');
});

上面的范例執行后會在 'ysdb' 數據庫中創建一個名為 logs 的表

插入數據

創建了數據庫后,我們可以使用下面的語句插入一些數據

var db = openDatabase('ysdb',2 * 1024 * 1024);
db.transaction(function (tx) {
   tx.executesql('CREATE TABLE IF NOT EXISTS logs (id unique,log)');
   tx.executesql('INSERT INTO logs (id,log) VALUES (1,"簡單編程")');
   tx.executesql('INSERT INTO logs (id,log) VALUES (2,"www.F2er.com")');
});

我們也可以使用動態值來插入數據

var db = openDatabase('ysdb',2 * 1024 * 1024);
db.transaction(function (tx) {  
  tx.executesql('CREATE TABLE IF NOT EXISTS logs (id unique,log)');
  tx.executesql('INSERT INTO logs (id,log) VALUES (?,?)',[e_id,e_log]);
});

范例中的 e_id 和 e_log 是外部變量,executesql 會映射數組參數中的每個條目給 "?"

讀取數據

我們可以使用下面的語句從讀取數據庫中已經存在的數據

var db = openDatabase('ysdb',2 * 1024 * 1024);
 
db.transaction(function (tx) {
   tx.executesql('CREATE TABLE IF NOT EXISTS logs (id unique,"www.F2er.com")');
});
 
db.transaction(function (tx) {
   tx.executesql('SELECT * FROM logs',[],function (tx,results) {
      var len = results.rows.length,i;
      msg = "<p>查詢記錄條數: " + len + "</p>";
      document.querySelector('#status').innerhtml +=  msg;
 
      for (i = 0; i < len; i++){
         alert(results.rows.item(i).log );
      }
 
   },null);
});

完整的范例

var db = openDatabase('ysdb',2 * 1024 * 1024);
var msg;
 
db.transaction(function (tx) {
    tx.executesql('CREATE TABLE IF NOT EXISTS logs (id unique,log)');
    tx.executesql('INSERT INTO logs (id,"簡單編程")');
    tx.executesql('INSERT INTO logs (id,"www.F2er.com")');
    msg = '<p>數據表已創建,且插入了兩條數據</p>';
    document.querySelector('#status').innerHTML =  msg;
});
 
db.transaction(function (tx) {
tx.executesql('SELECT * FROM logs',results) {
    var len = results.rows.length,i;
    msg = "<p>查詢記錄條數: " + 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);
});

刪除記錄

我們可以使用下面的語句來刪除記錄

db.transaction(function (tx) {
    tx.executesql('DELETE FROM logs  WHERE id=1');
});

刪除指定的數據 id 也可以是動態的

db.transaction(function(tx) {
    tx.executesql('DELETE FROM logs WHERE id=?',[id]);
});

更新記錄

我們可以使用下面的語句來更新記錄

db.transaction(function (tx) {
    tx.executesql('UPDATE logs SET log=\'F2er.com\' WHERE id=2');
});

更新指定的數據 id 也可以是動態的

db.transaction(function(tx) {
    tx.executesql('UPDATE logs SET log=\'F2er.com\' WHERE id=?',[id]);
});

完整范例

var db = openDatabase('ysdb',2 * 1024 * 1024);
var msg;
 
 db.transaction(function (tx) {
    tx.executesql('CREATE TABLE IF NOT EXISTS logs (id unique,"www.F2er.com")');
    msg = '<p>數據表已創建,且插入了兩條數據。</p>';
    document.querySelector('#status').innerHTML =  msg;
 });
 
 db.transaction(function (tx) {
      tx.executesql('DELETE FROM logs  WHERE id=1');
      msg = '<p>刪除 id 為 1 的記錄。</p>';
      document.querySelector('#status').innerHTML =  msg;
 });
 
 db.transaction(function (tx) {
     tx.executesql('UPDATE logs SET log=\'F2er.com\' WHERE id=2');
      msg = '<p>更新 id 為 2 的記錄。</p>';
      document.querySelector('#status').innerHTML =  msg;
 });
 
 db.transaction(function (tx) {
    tx.executesql('SELECT * FROM logs',results) {
       var len = results.rows.length,i;
       msg = "<p>查詢記錄條數: " + 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);
 });
返回頂部
主站蜘蛛池模板: 亚洲精品色综合色在线观看 | 欧美一级毛片欧美一级 | 日韩在线播放一区 | 美女污污视频在线观看 | 国产日产高清欧美一区二区三区 | 日韩欧美一区二区三区在线视频 | 精品视频手机在线观看免费 | 亚洲第一视频在线 | 亚洲国产美女 | 亚洲高清视频在线 | 色免费看 | 国产日韩欧美在线播放 | 一 级 黄 中国色 片 | 免费一级毛片在线播放傲雪网 | 色婷婷六月丁香七月婷婷 | 国产一区二区三区四区五区tv | 亚洲最新| 真实男女xx00动态视频免费 | 99久久精品毛片免费播放 | 特黄特色大片免费播放 | 一级片免费视频 | 亚洲精品三级 | 激情综合色五月丁香六月亚洲 | 外国黄色毛片 | 亚洲精品色综合久久久 | 麻豆视传媒短视频网站链接 | 欧美日韩视频在线一区二区 | 小优视频在线观看网 | 女性无套免费网站在线看 | 日韩一级片网址 | 新一级毛片国语版 | 丰满的日本护士xxx 丰满美女福利视频在线播放 | 久久99精品久久久久久青青91 | 国产在线激情视频 | 99pao在线视频精品免费 | 一本一道久久综合狠狠老 | 日本护士69xxxx免费 | 亚洲欧美日韩国产精品26u | 日本欧美久久久久免费播放网 | 国产极品嫩模大尺度福利视频 | 国产亚洲精品久久久999小说 |