一、介绍

  此 API 基于 W3C WEB SQL Database Specification 和 W3C Web Storage API Specification。

  有些 设备已经提供了对该规范的实现,对于这些设备采用内置实现而非使用 PhoneGap 的实现。

  对于没有存储支持的设 备,PhoneGap 的实现应该是完全兼容 W3C 规范。

二、openDatabase方法

  window.openDatabase(name, version, display_name, size)

  该方法将创建一个新的 SQL Lite 数据库,并返回该 Database 对象。可使用该 Database 对象 操作数据。

  name :数据库的名称。

  version:数据库的版本号。

  display_name:数据库的显示名。

  size:以字节为单位的数据库大小。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery Mobile Web 应用程序</title>
<link href="../jquery.mobile-1.3.2.css" rel="stylesheet" type="text/css"/>
<script src="../jquery.js" type="text/javascript"></script> <script src="../jquery.mobile-1.3.2.js" type="text/javascript"></script>
<script src="../cordova.js" type="text/javascript"></script>
<script type="text/javascript"> //1.如果数据库存在 则打开 不存在的则创建 然后在打开
var db = window.openDatabase("phonegap100", "1.0","phonegap中文网",1024*1024*20);
if(db){
console.log('数据库连接成功');
}else{
console.log('数据库连接失败');
} //2.执行transaction操作数据库
db.transaction(function(tx){
tx.executeSql("CREATE TABLE test (id int UNIQUE, name TEXT, age int)"); //创建表
}) //插入数据
db.transaction(function(tx){
//四个参数 第一个 sql语句 第二个 sql参数 第三个 成功的回调函数 第四个 失败的回调函数
//tx.executeSql("insert into test(id,name,age) values(1,'张三',20)");
//tx.executeSql("insert into test(id,name,age) values(2,'李四',25)"); //tx.executeSql("insert into test(id,name,age) values(?,?,?)",[3,'赵四',15],null,null); tx.executeSql("insert into test(id,name,age) values(3,'赵五',25)",[],function(tx,rel){
if(rel.rowsAffected>0){
//新增成功
console.log('成功的增加一条数据');
console.log('这条数据的id'+rel.insertId);
}
},function(){
alert('失败');
}); }); //更新数据
db.transaction(function(tx){
//tx.executeSql
//四个参数 第一个 sql语句 第二个 sql参数 第三个 成功的回调函数 第四个 失败的回调函数
//tx.executeSql("insert into test(id,name,age) values(1,'张三',20)");
//tx.executeSql("insert into test(id,name,age) values(2,'李四',25)"); //tx.executeSql("update test set name=?,age=? where id=1",['张三1',50],null,null); //tx.executeSql("update test set name='张三22',age=60 where id=1");
}) //删除数据
db.transaction(function(tx){
//tx.executeSql
//四个参数 第一个 sql语句 第二个 sql参数 第三个 成功的回调函数 第四个 失败的回调函数 //tx.executeSql("update test set name=?,age=? where id=1",['张三1',50],null,null); //tx.executeSql("delete from test where id=1");
}) //查询数据
db.transaction(function(tx){
//tx.executeSql
//四个参数 第一个 sql语句 第二个 sql参数 第三个 成功的回调函数 第四个 失败的回调函数 tx.executeSql("select * from test",[],function(tx,rel){
for(var i=0;i<rel.rows.length;i++){
document.write('姓名:'+rel.rows.item(i)['name']+',年龄:'+rel.rows.item(i)['age']+'<br>');
} },function(){
alert('失败');
});
})
</script>
</head>
<body>
</body>
</html>

PhoneGap 的存储 API_Web Sql的更多相关文章

  1. html5 webDatabase 存储中sql语句执行可嵌套使用

    html5 webDatabase 存储中sql语句执行可嵌套使用,代码如下: *); data.transaction(function(tx){ tx.executeSql("creat ...

  2. Spring Boot干货系列:(八)数据存储篇-SQL关系型数据库之JdbcTemplate的使用

    Spring Boot干货系列:(八)数据存储篇-SQL关系型数据库之JdbcTemplate的使用 原创 2017-04-13 嘟嘟MD 嘟爷java超神学堂 前言 前面几章介绍了一些基础,但都是静 ...

  3. python爬取豌豆荚中的详细信息并存储到SQL Server中

    买了本书<精通Python网络爬虫>,看完了第6章,我感觉我好像可以干点什么:学的不多,其中的笔记我放到了GitHub上:https://github.com/NSGUF/PythonLe ...

  4. HTML5本地存储——Web SQL Database

    在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数据就 ...

  5. Web持久化存储Web SQL、Local Storage、Cookies(常用)

    在浏览器客户端记录一些信息,有三种常用的Web数据持久化存储的方式,分别是Web SQL.Local Storage.Cookies. Web SQL 作为html5本地数据库,可通过一套API来操纵 ...

  6. [转]HTML5本地存储——Web SQL Database

    在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数据就 ...

  7. HTML5开发学习:本地存储Web Sql Database

       Web Sql Database,中文翻译作"本地数据库",是随着HTML5规范加入的在浏览器端运行的轻量级数据库.    在HTML5中,大大丰富了客户端本地可以存储的内容 ...

  8. PhoneGap 的存储 API_localStorage 和 sessionStorage

    一.介绍 1.为了替代Cookile这门古老的客户端存储技术,Html5的WEB Storage Api 提供了俩中在 客户端存储数据库的方法:localStorage 和 sessionStorag ...

  9. HTML5本地存储——Web SQL Database与indexedDB

    虽然在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数 ...

随机推荐

  1. Java的IO输入输出流类的介绍(有图)

    一.字节流 1.InputStream/OutputStream(输入流与输出流几乎一一对应) 读取的方法   int read()   int read(byte[] buffer)   int r ...

  2. MySql下载

    一般企业办的mysql下载不到 1.准备 注册一个orcle账号 2.跳转到http://www.mysql.com/ ,然后点击Downloads导航栏 滚动到最下面并点击[Community(GP ...

  3. Codeforces 949E Binary Cards

    Description 给出一个长度为 \(n\) 的数组,求使得用最少数量的 \(2^k\) 或 \(-2^k\) 的数,使得数组中的每一个元素都可以被你选出的 \(2\) 的次幂表示 题面 Sol ...

  4. js事件绑定简单写法

    $E.on = function (o, e, f) { return o.addEventListener ? o.addEventListener(e, f, false) : o.attachE ...

  5. PostgreSQL Entity Framework 自动迁移

    1.依次添加NuGet包 EntityFramework.Npgsql.EntityFramework6.Npgsql,会自动生成一些配置文件,不过缺少数据库驱动的配置节点: <system.d ...

  6. Python基础学习总结(七)

    9.类 面对对象编程Object Oriented Programming,简称OOP. 面向对象编程是最有效的软件编写方法之一.在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来 ...

  7. Thrift笔记(七)--回调源码分析

    网上找了写代码,东拼西凑写了个demo.开始server用的是阻塞io,不行,换成非阻塞的io就可以.这里可能需要注意下 thrift文件 namespace java com.gxf.thrift ...

  8. LeetCode Palidrome Number

    class Solution { public: bool isPalindrome(int x) { ) return false; ; int t = x; ; ) { pow *= ; cnt+ ...

  9. select下拉框选择字体大小

    效果: 结合Bootstrap.jQuery和ES6字符串模板与箭头函数使用JavaScript DOM操作动态添加option,随着option:selected选中的字号而改变相应的字体大小 代码 ...

  10. class 命名规范

    本文是从简书复制的, markdown语法可能有些出入, 想看"正版"和更多内容请关注 简书: 小贤笔记 注: 文章摘自 penggelies07- 简书, super晴天 - C ...