HTML5 使用浏览器内置数据库之 Web SQL

要点:

1. openDatabase(数据库名,版本号,简介,存储空间大小,回调函数);

var db = openDatabase('demoDB','1.0','this is a demo',2*1024*1024,function(){console.log('create demoDB success')});

2. 事务处理。db.transaction(function(ts){});

db.transaction(function (ts) {
	ts.executeSql(
	sql,
	[],
	function (su){
			console.log('create table success');
		},
	function (er){
			console.log('create table error');
		}
	)
});
3. 执行SQL语句。ts.executeSql(sql,[],function(success){},function(error){});

ts.executeSql(
	sql,
	[],
	function (su){
		console.log('create table success');
	},
	function (er){
		console.log('create table error');
	}
)

另W3C已停止对WebSQL的更新。


全部的源码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	<script> 
			//创建、连接数据库demoDB
			function conDB(){
				var db = openDatabase('demoDB','1.0','this is a demo',2*1024*1024,function(){console.log('create demoDB success')});
				return db;
				//alert('con');
			}
			
			//创建数据表table,包括mid,title,content字段
			function iniTable(){
				var db = conDB();
				var sql = "create table if not exists dm_message (mid unique,title text, content text)";
				db.transaction(function (ts) {
						ts.executeSql(
							sql,
							[],
							function (su){
								console.log('create table success');
							},
							function (er){
								console.log('create table error');
							}
						)
				});
			}
			iniTable();
			
			//增加数据
			function insertData(){
				var db = conDB();
				var tval = document.getElementById('tval').value;
				var cval = document.getElementById('cval').value;
				var sql = "insert into dm_message (title,content) values (?,?)";
				db.transaction(function(ts) {
						ts.executeSql(
							sql,
							[tval,cval],
							function(su) {
								alert('insert success');
							},
							function(er) {
								alert('insert error');
							}
						)
				});
			}
			
			//显示数据
			function getData(){
				var db = conDB();
				var sql = "select * from dm_message";
				db.transaction(function(ts){
					ts.executeSql(
						sql,
						[],
						function(su,rs){
							
							if (rs) {
								for (var i=0; i<rs.rows.length; i++) {
									var str="<tr><td>"+(i+1)+"</td><td>"+rs.rows.item(i).title+"</td><td>"+rs.rows.item(i).content+"</td></tr>";
									//alert(str);
									console.log(str);
									document.getElementById('rsData').innerHTML += str;
								}
							}
						},
						function(er){
							alert('getData errors')
						}
					)
				});
			}
			getData();
			
			//清空数据
			function clearTable(){
				var db = conDB();
				var sql = "delete from dm_message";
				db.transaction(function (ts){
					ts.executeSql(
						sql,
						[],
						function (su){
							alert('clear success');
						},
						function (er){
							alert('clear error');
						}
					)
				});
			}
			

	</script>		
	</head>
	<body>
		<form>
			title:<input type="text" name="title" id="tval" /><br />
			contnet:<textarea name="content" id="cval"></textarea><br />
			<input type="button" value="Submit" οnclick="insertData()" />
		</form>
		<button οnclick="clearTable()">clear table</button>
		<hr />

		<div id="result">
			<table style="border: 1px solid grey;">
				<tr>
					<td>id</td><td>title</td><td>content</td>
				</tr>
			</table>
			
			<table style="border: 1px solid grey;" id="rsData">
			</table>
		</div>
	
	</body>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值