极客学院----H5的相关笔记----H5基础(8)
来源:互联网 发布:钢琴调律软件 编辑:程序博客网 时间:2024/05/16 05:24
一.本地数据库
H5中内置了两种本地数据库:SQLLite,IndexedDB
二.executeSql执行查询
1.创建访问数据库的对象 方法:openDatabase() 参数:name:数据库名称 version:当前版本号 displayName:数据库的描述 estimatedSize:数据库的大小2.使用事务处理,用这个可以达到在你操作完成之前,阻止别人对数据库访问的目的 方法:transation() 参数:callback:函数的回调3.常用方法 (1)transaction.executeSql(sqlquery,[],dataHandler,errorHandler) sqlquery:执行数据库的语句 []:sql语句中所使用到的参数的数组 dataHandler:成功执行sql语句时的回调函数 errorHandler:执行sql语句出错时的回调函数 (2)function dataHandler(transaction,results) 要对数据处理时使用 (3)function errorHandler(transaction,errormsg) 出错时调用的 (4)rows属性:用来保存查询到的每条记录 rows.length:记录的条数
三.使用数据库实现Web留言本(目前只知道360浏览器好用)
webSql.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>使用数据库实现Web留言本</title> <script src="webSql.js"></script></head><body onload="init()"> <table> <tr><td>姓名:</td><td><input type="text" id="name"></td></tr> <tr><td>留言:</td><td><input type="text" id="memo"></td></tr> <tr> <td></td> <td><input type="button" value="保存" onclick="saveData()"></td> </tr> </table> <hr><!-- 横线 --><!-- 指定一个表来展现保存的内容 --> <table id="dataTable" border="1"> </table></body></html>webSql.js
/** * Created by Administrator on 2016/12/23. */var dataTable = null;var db = openDatabase("MyData","","My DataBase",1024*100);function init() { dataTable = document.getElementById("dataTable"); showAllData();}function removeAllData() { for(var i = dataTable.childNodes.length - 1;i >= 0;i--){ dataTable.removeChild(dataTable.childNodes[i]); } /* 创建的是表头 */ var tr = document.createElement("tr"); var th1 = document.createElement("th"); var th2 = document.createElement("th"); var th3 = document.createElement("th"); th1.innerHTML = "姓名"; th2.innerHTML = "留言"; th3.innerHTML = "时间"; tr.appendChild(th1); tr.appendChild(th2); tr.appendChild(th3); dataTable.appendChild(tr);}function showData(row) { /* 创建的是数据 */ var tr = document.createElement("tr"); var td1 = document.createElement("td"); var td2 = document.createElement("td"); var td3 = document.createElement("td"); td1.innerHTML = row.name; td2.innerHTML = row.message; var date = new Date(); date.setTime(row.time); td3.innerHTML = date.toLocaleDateString() + " " + date.toLocaleTimeString(); tr.appendChild(td1); tr.appendChild(td2); tr.appendChild(td3); dataTable.appendChild(tr);}/* 查询数据库,要用到事务进行处理 */function showAllData() { db.transaction(function (tx) { tx.executeSql("CREATE TABLE IF NOT EXISTS MsgData(name TEXT,message TEXT,time INTEGER)",[]); tx.executeSql("SELECT * FROM MsgData",[],function (tx,rs) { removeAllData(); for(var i = 0;i < rs.rows.length;i++){ showData(rs.rows.item(i)); } }); })}/* 添加数据 */function addData(name,message,time) { db.transaction(function (tx) { tx.executeSql("INSERT INTO MsgData VALUES (?,?,?)",[name,message,time],function (tx,rs) { alert("添加成功!"); },function (tx,error) { alert(error.source+"::"+error.message); }) })}/* 保存数据 */function saveData() { var name = document.getElementById("name").value; var memo = document.getElementById("memo").value; var time = new Date().getTime(); addData(name,memo,time); showAllData();}
0 0
- 极客学院----H5的相关笔记----H5基础(8)
- 极客学院---H5的相关笔记----H5基础(1)
- 极客学院----H5的相关笔记----H5基础(2)
- 极客学院----H5的相关笔记----H5基础(3)
- 极客学院----H5的相关笔记----H5基础(4)
- 极客学院----H5的相关笔记----H5基础(5)
- 极客学院----H5的相关笔记----H5基础(6)
- 极客学院----H5的相关笔记----H5基础(7)
- 极客学院----H5的相关笔记----H5基础(9)
- 极客学院----H5的相关笔记----css基础(一)
- 极客学院----H5的相关笔记----css基础(二)
- 极客学院----H5的相关笔记----css基础(三)
- H5笔记(一)
- h5基础
- H5基础
- h5基础
- H5相关小动画代码(个人笔记)
- h5笔记
- spring定时任务详解(@Scheduled注解)
- Android开发 NFC技术开发(一)
- Markdown上GitHub图片使用指南
- Java语法练习:String和Int、Double、Boolean的相互转换
- pthread一些函数的总结使用
- 极客学院----H5的相关笔记----H5基础(8)
- 全球运维大会GOPS | 加长版优维老王演讲带来是什么体验
- VSync Count 垂直同步
- eclipse 相关
- Ceph 备份系统调研
- ART和Dalvic对比
- spring的事务传播属性和隔离级别
- Maven项目开发时快速寻找jar包的解决方案
- 78. Subsets