web sql資料庫api實際上未包含在html 5規範之中,它是乙個獨立的規範,它引入了一套使用sql操作客戶端資料庫的api。w3c 官方在 2011 年 11 月宣告已經不再維護 web sql database 規範。但目前較新的chrome瀏覽器以及一些webkit核心瀏覽器支援websql資料庫,因此仍然必需要了解的,另外操作websql還需要一定的sql基礎。
規範中主要有三個核心方法:
1、opendatabase:請求開啟乙個現有資料庫或建立新資料庫物件。
2、transaction:事務方法,允許我們根據情況控制事務提交或回滾。
3、executesql:執行真實的sql查詢。
示例**:
1opendatabase(param1,param2,param3,param4,param5)引數說明://開啟資料庫
2var db = window.opendatabase("store", "1.0", "store", 2*1024);
3//開啟事務請求
4db.transaction(function (t), function(e));
12//開啟乙個唯讀事務
13db.readtransaction(function(t)
19});
20 }, function(e){});
當指定的資料庫名(param1)存在時,只有版本號(param2)與客戶端一致或版本號指定為空的字串('')時,可正常開啟資料庫,返回database物件,否則都將丟擲異常;
當指定的資料庫名(param1)不存在時,將新建立乙個符合引數的資料庫,並返回database物件。
第乙個引數:資料庫名
第二個引數:當前資料庫版本,若指定版本號與瀏覽器客戶端不一致將報錯,無法開啟資料庫,並丟擲版本不匹配錯誤。可以指定為空('');建議指定為空字串(''),其他若不匹配都將報錯。僅當指定的版本與客戶端一致或指定為''時,可以正常開啟資料庫;
第三個引數:資料庫描述。但實際感覺沒啥用處。像是被丟棄了。
第四個引數:資料庫大小
第五個引數:乙個**函式,當要開啟的資料庫不存在時,會將db作為引數呼叫,同時opendatabase也會返回db; 特別注意:**函式執行為非同步操作,需當心;比如在**函式f中初始化建立了一張表a,但由於是非同步的,在拿著opendatabase返回的db做操作時,就可能查詢不到表a,因為之前的**函式f可能還沒完成。
個人感覺不好使,建議棄用。
物件結構展示:
資料操作物件database
事務物件transaction
r sqlresultset sql操作返回結果物件。乙個是讀取select資料時返回的物件,乙個是寫入insert資料時返回的物件
web本地儲存
localstorage sessionstorage localstorage 長期儲存 資料依然會一直存在 手動清除 1.儲存資料到本地 sessionstorage.setitem email gengwenx yeah.net localstorage.setitem email gengw...
web本地儲存
隨著網際網路的快速發展,基於網頁的應用越來越普遍,同時也變的越來越複雜,為了滿足各種各樣的需求,會經常性在本地儲存大量的資料,傳統方式我們以 document.cookie來進行儲存的,但是由於其儲存大小只有4k左右,並且解析也相當的複雜,每一次傳送請求都會攜帶上cookie,會造成頻寬的浪費,給開...
web 本地儲存
說明 對瀏覽器來說,使用 web storage 儲存鍵值對比儲存 cookie 方式更直觀,而且容量更大,它包含兩種 localstorage 和 sessionstorage localstorage 長期儲存 與 sessionstorage 一樣,但是瀏覽器關閉後,資料依然會一直存在 api...