HTML5本地存储 -Web Sql Database 总结

来源:互联网 发布:ora01109数据库未打开 编辑:程序博客网 时间:2024/05/16 04:10
//第一步:打开连接并创建数据库 
var db = openDatabase('testDB', '1.0', 'Test DB', 2 * 1024 * 1024);

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

//第二步:创建数据表【这个例子中我们创建了一个table,并在表中插入三条数据,四条执行语句任何一条出现错误,整个事务都会回滚】 

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")');         });
  1. context包含事务内容的一个方法
  2. 执行成功回调函数(可选)
  3. 执行失败回调函数(可选)

//第三步:执行增删改查 


// 1)添加数据:
context.executeSql('INSERT INTO testTable (id, name) VALUES (0, "Byron")');

//      2)查询数据
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);            }         });
  1. 查询字符串
  2. []用以替换查询字符串中问号的参数
  3. context执行成功回调函数(可选)
  4. results执行失败回调函数(可选)

// 3)更新数据

db.transaction(function (context) {
           context.executeSql('UPDATE testTable SET name = ? where id=?', [name,id], 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);            },function (context, error) {            alert('更新失败: ' + error.message);        });         });

  1. 修改字符串
  2. []用以替换查询字符串中问号的参数
  3. context执行成功回调函数(可选)
  4. results执行失败回调函数(可选)

//      4)删除数据
context.executeSql('delete  from  testTable where  id= ?',[id]);

//       5)删除数据表

context.executeSql('drop  table  testTable ');

0 0
原创粉丝点击