溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

h5本地?cái)?shù)據(jù)庫的示例分析

發(fā)布時(shí)間:2021-09-17 13:39:11 來源:億速云 閱讀:185 作者:小新 欄目:web開發(fā)

這篇文章主要為大家展示了“h5本地?cái)?shù)據(jù)庫的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“h5本地?cái)?shù)據(jù)庫的示例分析”這篇文章吧。

HTML5中,為了減輕服務(wù)器的負(fù)擔(dān)和提高Web應(yīng)用程序性能,將原本必須要保存在服務(wù)器上的數(shù)據(jù)轉(zhuǎn)為保存在客戶端本地??梢韵裨L問本地文件那樣輕松地對(duì)內(nèi)置數(shù)據(jù)庫進(jìn)行直接訪問。HTML5中內(nèi)置了兩種本地?cái)?shù)據(jù)庫,一種為SQLLite,一種為indexedDB。這次簡(jiǎn)單的簡(jiǎn)單的介紹下SQLLite。

在寫這篇文章時(shí),查詢了下  Web SQL Database(SQLLite),很不幸看到了這個(gè)

h5本地?cái)?shù)據(jù)庫的示例分析

官網(wǎng)截圖

大概意思是 :此規(guī)范不再處于主動(dòng)維護(hù)中,Web應(yīng)用程序工作組不打算繼續(xù)維護(hù)。

SQLLite核心的方法有3個(gè)

  1. openDatabase:這個(gè)方法用于創(chuàng)建數(shù)據(jù)庫對(duì)象并返回實(shí)例

  2. transaction:這個(gè)方法用于控制事務(wù)提交或回滾

  3. executeSql:這個(gè)方法用于執(zhí)行SQL 查詢(SQLLite 可以用sql來來執(zhí)行增刪改查)

openDatabase

例如,想要?jiǎng)?chuàng)建數(shù)據(jù)庫

//參數(shù)意義依次為  數(shù)據(jù)庫名字,版本,數(shù)據(jù)庫描述,數(shù)據(jù)庫大小
var db = openDatabase("myData", "1.0", "MyDataBase", 1024 * 100);

這樣就可以創(chuàng)建一個(gè)本地的Web SQL Database  ,返回值  “db”  為這個(gè)數(shù)據(jù)庫的實(shí)例。

transaction&executeSql

transaction方法用以處理事務(wù),當(dāng)一條語句執(zhí)行失敗的時(shí)候,回滾整個(gè)事物。
executeSql方法用以執(zhí)行SQL語句,返回結(jié)果。

請(qǐng)看代碼

//打開一個(gè)事物,傳入一個(gè)包含事務(wù)內(nèi)容的一個(gè)方法
//在事物中使用executeSql執(zhí)行sql創(chuàng)建一張表
 db.transaction(function(tx) {
        tx.executeSql("CREATE TABLE IF NOT EXISTS message(name TEXT,content TEXT,time TET)", [], 
        function() {
        //執(zhí)行成功回調(diào)函數(shù)(該參數(shù)可選傳與不傳)
        }, function(error) {
        //執(zhí)行失敗回調(diào)函數(shù)(該參數(shù)可選傳與不傳)
        }),
        //在表中插入一條數(shù)據(jù)
        tx.executeSql("INSERT INTO message VALUES(?,?,?)", ["zhong", "web sql database", ''2017 ']);
        })

執(zhí)行以上代碼在chrome控制臺(tái)中查看

h5本地?cái)?shù)據(jù)庫的示例分析

執(zhí)行結(jié)果

成功插入一條數(shù)據(jù)?。?!

我們?cè)賮聿樵円幌逻@條數(shù)據(jù)

db.transaction(function(tx) {
    tx.executeSql("SELECT * FROM message", [], function(tx, rs) {
           //執(zhí)行成功回調(diào)函數(shù),返回執(zhí)行結(jié)果  rs ,我們將 rs 循環(huán)
            for (var i = 0; i < rs.rows.length; i++) {
               //打印出查詢的結(jié)果
                console.log(rs.rows.item(i))
            }
        },
        function(eror) {})
})

在chrome控制臺(tái)中查看

h5本地?cái)?shù)據(jù)庫的示例分析

以上是“h5本地?cái)?shù)據(jù)庫的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI