HTML5本地数据库实例详解
HTML5的Web SQL Databases(html5 本地数据库)的确很诱惑人,当你发现可以用与mysql查询一样的查询语句来操作本地数据库时,你会发现这东西挺有趣的。今天,我们一起来了解HTML 5的Web SQL Database API:openDatabase、transaction、executeSql。
Web SQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范。它通过一套API来操纵客户端的数据库。Safari、Chrome、Firefox、Opera等主流浏览器都已经支持Web SQL Database。HTML5的Web SQL Databases的确很诱惑人,当你发现可以用与mysql查询一样的查询语句来操作本地数据库时,你会发现这东西挺有趣的。今天,我们一起来了解HTML 5的Web SQL Database API。
下面将一一将介绍怎样创建打开数据库,创建表,添加数据,更新数据,删除数据,删除表 。
先介绍三个核心方法
1、openDatabase:这个方法使用现有数据库或创建新数据库创建数据库对象。
2、transaction:这个方法允许我们根据情况控制事务提交或回滚。
3、executeSql:这个方法用于执行真实的SQL查询。
第一步:打开连接并创建数据库
代码如下:
var dataBase = openDatabase("student", "1.0", "学生表", 1024 * 1024, function () { }); if (!dataBase) { alert("数据库创建失败!"); } else { alert("数据库创建成功!"); }
解释一下openDatabase方法打开一个已经存在的数据库,如果数据库不存在,它还可以创建数据库。几个参数意义分别是:
1,数据库名称。
2,版本号 目前为1.0,不管他,写死就OK。
3,对数据库的描述。
4,设置数据的大小。
5,回调函数(可省略)。
初次调用时创建数据库,以后就是建立连接了。
创建的数据库就存在本地,路径如下:
C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\databases\http_localhost_4987 。
创建的是一个sqllite数据库,可以用SQLiteSpy打开文件,可以看到里面的数据。SQLiteSpy是一个绿色软件,可以百度一下下载地址或SQLiteSpy官方下载:SQLiteSpy。
第二步:创建数据表
代码如下:
this.createTable=function() { dataBase.transaction( function(tx) { tx.executeSql( "create table if not exists stu (id REAL UNIQUE, name TEXT)", [], function(tx,result){ alert('创建stu表成功'); }, function(tx, error){ alert('创建stu表失败:' + error.message); }); }); }
解释一下,
executeSql函数有四个参数,其意义分别是:
1)表示查询的字符串,使用的SQL语言是SQLite 3.6.19。
2)插入到查询中问号所在处的字符串数据。
3)成功时执行的回调函数。返回两个参数:tx和执行的结果。
4)一个失败时执行的回调函数。返回两个参数:tx和失败的错误信息。
第三步:执行增删改查
1)添加数据:
代码如下:
this.insert = function () { dataBase.transaction(function (tx) { tx.executeSql( "insert into stu (id, name) values(?, ?)", [id, '徐明祥'], function () { alert('添加数据成功'); }, function (tx, error) { alert('添加数据失败: ' + error.message); } ); });
2)查询数据
代码如下:
this.query = function () { dataBase.transaction(function (tx) { tx.executeSql( "select * from stu", [], function (tx, result) { //执行成功的回调函数 //在这里对result 做你想要做的事情吧........... }, function (tx, error) { alert('查询失败: ' + error.message); } ); }); }
解释一下
上面代码中执行成功的回调函数有一参数result。
result:查询出来的数据集。其数据类型为 SQLResultSet ,就如同C#中的DataTable。
SQLResultSet 的定义为:
代码如下:
interface SQLResultSet { readonly attribute long insertId; readonly attribute long rowsAffected; readonly attribute SQLResultSetRow List rows; };
其中最重要的属性—SQLResultSetRowList 类型的 rows 是数据集的“行” 。
rows 有两个属性:length、item 。
故,获取查询结果的某一行某一列的值 :result.rows[i].item[fieldname] 。
3)更新数据
代码如下:
this.update = function (id, name) { dataBase.transaction(function (tx) { tx.executeSql( "update stu set name = ? where id= ?", [name, id], function (tx, result) { }, function (tx, error) { alert('更新失败: ' + error.message); }); }); }
4)删除数据
代码如下:
this.del = function (id) { dataBase.transaction(function (tx) { tx.executeSql( " delete from stu where id= ?", [id], function (tx, result) { }, function (tx, error) { alert('删除失败: ' + error.message); }); }); }
5)删除数据表
代码如下:
this.dropTable = function () { dataBase.transaction(function (tx) { tx.executeSql('drop table stu'); }); }
【相关推荐】
1. Html5免费视频教程
Atas ialah kandungan terperinci HTML5本地数据库实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Tag skema.org membantu enjin carian memahami format data berstruktur kandungan laman web melalui tag semantik (seperti skop item, jenis item, itemprop); Ia boleh digunakan untuk menentukan perbendaharaan kata tersuai, kaedah termasuk memperluaskan jenis sedia ada atau menggunakan tambahanType untuk memperkenalkan jenis baru; Dalam aplikasi sebenar, mengekalkan struktur yang jelas, menggunakan atribut rasmi terlebih dahulu, menguji kesahan kod, dan memastikan jenis tersuai boleh diakses; Langkah berjaga-jaga termasuk menerima sokongan separa, mengelakkan kesilapan ejaan, dan memilih format yang sesuai seperti JSON-LD.

Html5parsershandlemalformedhtmlbyfollowingadeterministicalgorithmtoensureConsistentandrobrendering.1.FormationIstraChedorunclosedtags, theParserautomaticallyclosestagsandadjustsnestingbasedoncontext, suchasclosingabeforeandreaandreaandreaandreaeAdinreaReaReaTheReaTheReaTheReaThing

Html5dataattributesarecustom, validhtmlattributesedToStoreExtrainFormationInelementsforjavasctorcs.1.theyaredefinedasdata-*atribut, likedata-user-id = "123"

Sila jelaskan kedua -dua elemen atau atribut HTML5 yang anda ingin bandingkan, seperti berbanding, berbanding, atau ID dengan kelas, supaya saya dapat memberikan penjelasan yang jelas dan praktikal tentang perbezaannya.

Thespellcheckattributeinhtml5controlswhethertheBrowserChecksspellingandgrammarinediperitables.2.itworksonInputfields, textareas, andcontentediediorlysbyunderliningErlinerErrorsinredorgreen.3.Setitto "false" false "false" false, false "false" false "

Mewujudkan senarai yang diperintahkan dalam HTML5 memerlukan penggunaan dan tag. 1. Gunakan senarai yang diperintahkan untuk menentukan senarai yang diperintahkan, dan gunakannya untuk mewakili setiap item secara dalaman. 2. Anda boleh menentukan nombor permulaan melalui atribut Mula, 3. Tetapkan jenis nombor seperti angka, huruf atau angka Rom melalui atribut jenis. 4. Adalah disyorkan untuk menggunakan jenis gaya CSS atau kaunter adat untuk mencapai kawalan gaya yang lebih fleksibel untuk memisahkan struktur dan gaya.

Untuk menggunakan API HTML5Canvas untuk lukisan asas, mula -mula buat elemen kanvas dalam HTML dan tetapkan atribut lebar dan ketinggian, dan kemudian dapatkan konteks rendering 2D melalui JavaScript; 1. Gunakan fillrect, strokerect dan clearRect untuk menarik dan membersihkan; 2. Buat jalan dan lukis garis atau bentuk tersuai melalui BeginPath, Moveto, Lineto dan ClosePath; 3. Gunakan arka untuk menarik bulatan atau arka; 4. Gunakan FillText dan StrokeText untuk menambah teks mengisi atau strok; 5. Set Fillstyle, Strokestyle, Lin

Thereadonlyattributeinhtml5makesforminputsnon-edicitableWhilestillallowingsubmissionanduserInterAction; 1.itappliestoandelements; 2.ISAbooleanattribute, segera "readonly" needstobepresent; 3. tidak disengajakan ", itallowsfocusandthedthedataisandthedata
