赞
踩
websql主要是依托浏览器环境下一种离线存储方式,主要是用于关系性数据库,与sqllite相似
- if(window.openDatabase){
- console.log(“浏览器支持DataBase”);
- }
1、openDatabase 参数说明
- var db = openDatabase("appdb", "1.0", "appdatabase", 1024 * 1024 * 100, function(result) {
- console.log("首页:创建数据库成功");
- db = result;
- });
- if(!db) {
- console.log("数据库创建失败!");
- return;
- } else {
- console.log("数据库创建成功!");
- }
trancaction 为数据库的事务函数,所有操作都需要经过事务处理,如果中间出同SQL语句错误则事务进行回事,所括建表语句都会回滚(ORACLE 里面PLSQL建表是不会回滚的,最开始在这块整蒙了)
- db.transaction(function(tx) {
- var sql = "CREATE TABLE IF NOT EXISTS ServerInfo (XF_XJ TEXT)";
- tx.executeSql(sql, []);
- }, function(error) {
- //执行失败的回调函数
- console.log("数据初始化失败,失败原因:" + error.message);
- }, function(result) {
- //执行成功的回调函数
- console.log("数据初始化成功");
- });
CREATE TABLE IF NOT EXISTS ServerInfo (XF_XJ TEXT)
在增加删除修改内也需要用到transaction方法
通过executeSql可进行增加,删除,修改等操作
- db.transaction(function(tx) {
- var sql = "insert into CaoZuoYuan(user,name,password)values('0001','系统管理员','12345')";
- tx.executeSql(sql, []);
- });
这里直接生成SQL语句,你也可以用参数的方法
- db.transaction(function(tx) {
- var sql = "insert into CaoZuoYuan(user)values(?)";
- tx.executeSql(sql, ['0001']);
-
- });
更新和删除与之相同
1、判断数据是否存在
- db.transaction(function(tx) {
- tx.executeSql('select * from CaoZuoYuan', [], function(tx, results) {
- var len = results.rows.length;
- if (len<1)
- {
- var sql = "insert into CaoZuoYuan(user,name,password)values('0001','系统管理员','12345')";
- tx.executeSql(sql, []);
- }
- });
- });
2、查询数据并循环到列表
- db.transaction(function(tx) {
- tx.executeSql('select * from CaoZuoYuan where user="' + appview.user_id + '"', [], function(tx, results) {
- len = results.rows.length;
- if(len < 1) {
- alert("用户名或密码错误!");
- return;
- }
- for (i = 0; i < len; i++)
- {
- alert(results.rows.item(i).name);
- }
- }, null);
- });
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。