不知道什么情况, W3C不再维护web SQL Database规范,但是大多浏览器都支持了!

Web SQL Database规范页面有着这样的声明

Web SQL Database 规范中定义的三个核心方法:

  1. openDatabase:这个方法使用现有数据库或新建数据库来创建数据库对象
  2. transaction:这个方法允许我们根据情况控制事务提交或回滚
  3. executeSql:这个方法用于执行SQL 查询

openDatabase:

我们可以使用这样简单的一条语句,创建或打开一个本地的数据库对象

var db = openDatabase('testDB', '1.0', 'Test DB', 2 * 1024 * 1024);

openDatabase接收五个参数:

  1. 数据库名字
  2. 数据库版本号
  3. 显示名字
  4. 数据库保存数据的大小(以字节为单位 )
  5. 回调函数(非必须)

如果提供了回调函数,回调函数用以调用 changeVersion() 函数,不管给定什么样的版本号,回调函数将把数据库的版本号设置为空。如果没有提供回调函数,则以给定的版本号创建数据库。

transaction

transaction方法用以处理事务,当一条语句执行失败的时候,整个事务回滚。方法有三个参数

  1. 包含事务内容的一个方法
  2. 执行成功回调函数(可选)
  3. 执行失败回调函数(可选)

executeSql

executeSql方法用以执行SQL语句,返回结果,方法有四个参数

  1. 查询字符串
  2. 用以替换查询字符串中问号的参数
  3. 执行成功回调函数(可选)
  4. 执行失败回调函数(可选)
 <!DOCTYPE HTML>
<html>
<head>
<title>Web SQL Database</title>
</head>
<body>
<script type="text/javascript">
var db = openDatabase('testDB', '1.0', 'Test DB', 2 * 1024 * 1024);
var msg;
db.transaction(function (context) {
context.executeSql('CREATE TABLE IF NOT EXISTS testTable (id unique, name)');
context.executeSql('INSERT INTO testTable (id, name) VALUES (0, "Byron")');
context.executeSql('INSERT INTO testTable (id, name) VALUES (1, "Casper")');
context.executeSql('INSERT INTO testTable (id, name) VALUES (2, "Frank")');
}); db.transaction(function (context) {
context.executeSql('SELECT * FROM testTable', [], function (context, results) {
var len = results.rows.length, i;
console.log('Got '+len+' rows.');
for (i = 0; i < len; i++){
console.log('id: '+results.rows.item(i).id);
console.log('name: '+results.rows.item(i).name);
}
});
});
</script>
</body>
</html>

最新文章

  1. C语言实现线程池
  2. WinForm 与WPF 窗体之间的想到调用
  3. C语言解析Ini格式文件
  4. iOS7 edgesForExtendedLayout -- 解决冲突 / 系统偏移
  5. [py]文件 字符串 列表特例
  6. 1021上课演练----SQL注入与避免(银行系统)
  7. 举例说明划分子网,路由器IP地址
  8. 自适应游标共享技术02(一个简单的例子来走近ACS)
  9. java.util.logging.Logger使用详解
  10. HoloGraphLibrary
  11. div border-radius画圆
  12. 暴力求解——素环数 Prime Ring Problem ,UVa 524
  13. data Mining with Weka: Trailer More Data Mining with Weka 用weka 进行数据挖掘 Weka 用weka 进行更多数据挖掘
  14. CSS页面渲染优化属性will-change
  15. 201521123083《Java程序设计》第11周学习总结
  16. 新购阿里云服务器ECS创建之后无法ssh连接的问题处理
  17. Python 多线程和线程池
  18. python数据抓取分析(python + mongodb)
  19. Python3 与 C# 并发编程之~ 线程篇
  20. WinPcap权威指南(一)

热门文章

  1. 【java基础】java的构造函数
  2. Python_Day9_Socket编程
  3. java 反编译
  4. Oracle安装时OracleMTSRecoveryService找不到
  5. 一个div相对于外层的div水平和垂直居中
  6. 开发微信小程序 中遇到的坑 及解决方法
  7. 不在折腾---hive-0.13.1-bin
  8. python虚拟环境
  9. 1028作业:Java语法基础
  10. C++笔记(1)explicit构造函数