网站建设
网站备案流程
本机IIS服务器的创建
Win7下配置本机IIS服务器
建网站需要学习的内容
使用表格布局网页
定义网页头文件元素
制作弹出网页
制作网页宣传窗
Div+CSS布局网页
CSS的常见选择器
CSS设置文本样式
CSS设置背景颜色与图像
CSS设置表格样式
HTML中使用CSS的方法
CSS3新增的部分属性1
CSS3新增的部分属性2
CSS3动画与渐变
网页显示MySQL数据库中汉字的乱码问题
HTML5的新特性
HTML5的API
HTML5音视频API
HTML5表单
HTML5表单API
HTML5画布canvas
HTML5拖放API
HTML5地理位置API
HTML5离线应用API
HTML5 Workers多线程
HTML5跨源通信
HTML5 WebSocket通信
HTML5的Web存储API
HTML5本地数据库
HTML5其他一些API
Node.js功能和使用
常用Web前端工具
WebGL编程
GLSL ES语言
使用ThreeJs库3D编程
XML可扩展标记语言
为了进一步加强客户端存储数据的能力,HTML5引入了本地数据库的概念。其中有几种方案,尚待完善中。常见的有IndexedDB和Web SQL等。
一、IndexedDB:
索引数据库IndexedDB API是HTML5为存储大量结构化数据提供的解决方案。
IndexedDB是一个数据库系统,在用户的计算机上存储索引信息,它是作为底层API开发的,目的是支持更广泛的用途,使其变成最强大最复杂的API。
在IndexedDB中,数据库中的信息以对象(记录)的形式存储在对象库(表)中。对象库没有特定的结构,只能够找到其中对象的名称和索引。这些对象也没有既定的结构,每个对象的结构可以各不相同,多复制都可以,唯一条件是至少有一个属性声明为索引,以便在对象库中能够找到它们。
二、Web SQL:
Web SQL规范使用的是SQLite数据库,允许应用程序通过一个异步的JavaScript接口访问数据库,在移动领域非常有用。
SQLite是一款轻型的数据库,遵循ACID的关系型数据库管理系统,优势是嵌入式的,占用资源非常低,只需要几百KB内存。跨平台方面,SQLite能够支持Windows/Linux等主流操作系统,同时能与多种编程语言结合,如C#/PHP/Java/JavaScript等,还包含ODBC接口。
1.打开数据库:
openDatabase()方法可以打开一个已经存在的数据库。如果数据库不存在,它可以创建数据库。语法为:
var db=openDatabase("testDB","1.0","测试数据库",2*1024*1024,creationCallback);
其中有5个必需的参数,第一个表示数据库名,第二个表示版本号,第三个表示数据库的描述,第四个表示数据库的大小,第五个表示创建回调函数(可选)。
2.创建数据表:
transaction()方法可以进行事务处理,executeSql()方法可以执行SQL语句。可以同时使用这两个方法,在事务中处理SQL语句。创建数据表的方法为:
db.transaction(function(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS UserName (id unique,Name)');
});
使用transaction()方法传递给回调函数的tx是一个transaction对象,然后使用transaction对象的executeSql()方法,可以执行SQL语句。这里的SQL语句就是创建数据表的命令。
3.添加数据到数据表:
也可以使用transaction()方法和executeSql()方法,执行SQL语句添加数据到数据表:
db.transaction(function(tx) {
tx.executeSql('INSERT INTO UserName (id,Name) VALUES (1, "张三")');
tx.executeSql('INSERT INTO UserName (id,Name) VALUES (2, "李四")');
});
两个包含INSERT INTO命令的SQL语句表示插入数据,将会在本地数据库TestDB中的UserName表中添加两条数据。
4.读取数据库中的数据:
仍然使用使用transaction()方法和executeSql()方法,执行查询SQL语句,读取数据表数据:
db.transaction(function(tx) {
tx.executeSql('SELECT * FROM UserName',[],function(tx,results) {
var len=results.rows.length;
for (var i=0;i<len;i++) {
console.log(results.rows.item(i).Name);
}
}, null);
});
executeSql()方法中包含了select命令的SQL语句,表示查询,将从本地数据库TestDB中的UserName表中查询信息。查询出来的结果会传递给匿名的回调函数,回调函数中输出结果。