十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶(hù) + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂(yōu)售后,網(wǎng)站問(wèn)題一站解決
在HTML5之前的時(shí)代,如果需要在客戶(hù)端本地保存數(shù)據(jù),只能存儲(chǔ)在Cookie中,但是 Cookie使用過(guò)多會(huì)影響請(qǐng)求速度 ,所以并不適合存儲(chǔ)大量數(shù)據(jù)。
創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括滎陽(yáng)網(wǎng)站建設(shè)、滎陽(yáng)網(wǎng)站制作、滎陽(yáng)網(wǎng)頁(yè)制作以及滎陽(yáng)網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,滎陽(yáng)網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到滎陽(yáng)省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!
而在HTML5面世后,自帶了本地存儲(chǔ)和本地?cái)?shù)據(jù)庫(kù)功能,更為便捷的管理客戶(hù)端數(shù)據(jù)。
HTML5提供了一個(gè) 基于瀏覽器端的數(shù)據(jù)庫(kù) (WebSQL 、IndexedDB),我們可以通過(guò)JS API來(lái)在瀏覽器端創(chuàng)建一個(gè)本地?cái)?shù)據(jù)庫(kù),而且它還支持標(biāo)準(zhǔn)的SQL來(lái)執(zhí)行CRUD操作。
如何查看本地的數(shù)據(jù)庫(kù)呢?通過(guò)各個(gè) 瀏覽器的調(diào)試工具 可以查看。
在HTML5中操作本地?cái)?shù)據(jù)庫(kù)都是通過(guò)JS API來(lái)實(shí)現(xiàn)的,很簡(jiǎn)單,步聚如下:
1、通過(guò) openDatabase 創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象
2、通過(guò) db.transaction 設(shè)置回調(diào)函數(shù)
3、通過(guò) executeSql 方法執(zhí)行查詢(xún)
HTML5默認(rèn)情況下是無(wú)法連接遠(yuǎn)程數(shù)據(jù)庫(kù)的,一般都是通過(guò)API去操作數(shù)據(jù)庫(kù)。比如當(dāng)下流行的前后端完全分離,借助的就是RESTful來(lái)實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)的CRUD操作。
怎么會(huì)問(wèn)這個(gè)問(wèn)題,HTML是不可能鏈接數(shù)據(jù)庫(kù)的,他是標(biāo)簽類(lèi)語(yǔ)言,是用于構(gòu)建靜態(tài)頁(yè)面的,要想鏈接數(shù)據(jù)庫(kù)必須得支持網(wǎng)絡(luò)通信和IO的,顯然HTML并沒(méi)有支持,HTML只是用來(lái)設(shè)計(jì)頁(yè)面的。
我還以為我落伍了,h5連數(shù)據(jù)庫(kù)
H5指的是HTML5嗎,這個(gè)是網(wǎng)頁(yè)的標(biāo)簽語(yǔ)言,不屬于編程語(yǔ)言,不能夠訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),一般網(wǎng)站分為前臺(tái)和后臺(tái),H5是用來(lái)做前臺(tái)的,訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)是后臺(tái)的任務(wù),你需要另一門(mén)技術(shù),比如常見(jiàn)的PHP,Python,Java等
HTML5連接數(shù)據(jù)庫(kù)分為以下幾步:
預(yù)備知識(shí):Web SQL Database,Html5環(huán)境下可以用Js執(zhí)行CRUD的Web數(shù)據(jù)庫(kù)組件。
核心方法如下:
1、openDatabase:這個(gè)方法使用現(xiàn)有數(shù)據(jù)庫(kù)或創(chuàng)建新數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象。
2、transaction:這個(gè)方法允許我們根據(jù)情況控制事務(wù)提交或回滾。
3、executeSql:這個(gè)方法用于執(zhí)行真實(shí)的SQL查詢(xún)。
第一步:打開(kāi)連接并創(chuàng)建數(shù)據(jù)庫(kù)
var dataBase = openDatabase("student", "1.0", "student", 1024 * 1024, function () { });
if (!dataBase) {
alert("數(shù)據(jù)庫(kù)創(chuàng)建失??!");
} else {
alert("數(shù)據(jù)庫(kù)創(chuàng)建成功!");
}
第二步:創(chuàng)建數(shù)據(jù)表
this.createTable=function() {
dataBase.transaction( function(tx) {
tx.executeSql(
"create table if not exists stu (id REAL UNIQUE, name TEXT)",
[],
function(tx,result){ alert('創(chuàng)建stu表成功'); },
function(tx, error){ alert('創(chuàng)建stu表失敗:' + error.message);
});
});
}
第三步:執(zhí)行增刪改查
添加數(shù)據(jù):
this.insert = function () {
dataBase.transaction(function (tx) {
tx.executeSql(
"insert into stu (id, name) values(?, ?)",
[id, '徐明祥'],
function () { alert('添加數(shù)據(jù)成功'); },
function (tx, error) { alert('添加數(shù)據(jù)失敗: ' + error.message);
} );
});