html 5のローカルストレージローカルデータベース操作
5758 ワード
html SQLLITEファイル型SQLデータベースの操作方法
1.データベースにアクセスするオブジェクトの作成
var db=openDatabase("mydb",'1.0','test db',102400)
最初のパラメータはデータベース名
2番目のパラメータはバージョン番号です
3番目のパラメータはデータベースの説明です
4番目のパラメータ・データベースのサイズ
2.取引の使用
db.transaction(function(tx){
tx.executeSql(sqlQuery,[],dataHandler,errorHandler);
});
tx.executeSql(sqlQuery,[],dataHandler,errorHandler)
最初のパラメータは実行するsql文です
2番目のパラメータはsql文で使用されるパラメータ配列です.
3番目のパラメータは、sqlの実行に成功したときに呼び出されるコールバック関数です.
4番目のパラメータは、sqlの実行に失敗したときに呼び出されるコールバック関数です.
sqlliteデータベース操作の例
htmlコード:
1.データベースにアクセスするオブジェクトの作成
var db=openDatabase("mydb",'1.0','test db',102400)
最初のパラメータはデータベース名
2番目のパラメータはバージョン番号です
3番目のパラメータはデータベースの説明です
4番目のパラメータ・データベースのサイズ
2.取引の使用
db.transaction(function(tx){
tx.executeSql(sqlQuery,[],dataHandler,errorHandler);
});
tx.executeSql(sqlQuery,[],dataHandler,errorHandler)
最初のパラメータは実行するsql文です
2番目のパラメータはsql文で使用されるパラメータ配列です.
3番目のパラメータは、sqlの実行に成功したときに呼び出されるコールバック関数です.
4番目のパラメータは、sqlの実行に失敗したときに呼び出されるコールバック関数です.
function addData(name,email,phone){
db.transaction(function(tx){
tx.executeSql(' insert into msgData values(?,?,?)',[name,email,phone],function(tx,rs){
alert(" !");
},function(tx,error){
alert(error.message);
});
});
}
sqlliteデータベース操作の例
//
var datatable = null;
//
//4 , , ,
var db = openDatabase('MyData','','My Database',102400);
//init() , ,
function init(){
// ,
datatable = document.getElementById("datatable");
//
showAllData();
}
//removeAllData() , ( )
function removeAllData(){
// , <table>
// , datatable
for(var i=datatable.childNodes.length-1;i>=0;i--){
datatable.removeChild(datatable.childNodes(i));
}
// , <tr> <th>
//
var tr= document.createElement('tr');
//
var th1=document.createElement('th');
//
var th2=document.createElement('th');
//
var th3=document.createElement('th');
// 3
th1.innerHTML=" ";
th2.innerHTML=" ";
th3.innerHTML=" ";
//
tr.appendChild(th1);
tr.appendChild(th2);
tr.appendChild(th3);
//
datatable.appendChild(tr);
}
// HTML 。 :
function showData(row){
//
var tr= document.createElement('tr');
// ,
var td1=document.createElement('td');
// name
td1.innerHTML=row.name;
// ,
var td2=document.createElement('td');
// message
td2.innerHTML=row.info;
// ,
var td3=document.createElement('td');
//
var t = new Date();
t.setTime(row.time);
//
td3.innerHTML=t.toLocaleString()+" "+t.toLocaleTimeString();
//
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
//
datatable.appendChild(tr);
}
// ,
function showAllData(){
// SQLite ,
db.transaction(function(tx){
// , 3
tx.executeSql('CREATE TABLE IF NOT EXISTS InfoData(name TEXT,info TEXT,time INTEGER)',[]);
// ( , ( ))
// ,
tx.executeSql('SELECT * FROM InfoData',[],function(tx,rs){
// , , <table>
removeAllData();
// , , showData table html
for(var i=0;i<rs.rows.length;i++){
// item(i), , ( HTML )
showData(rs.rows.item(i));
}
});
}
);
}
// , , 。
function addData(name,info,time){
//
// , InfoData ,
db.transaction(function(tx){
//
//
tx.executeSql('INSERT INTO InfoData VALUES(?,?,?)' , [name,info,time],function(tx,rs){
console.log(" !");
},
//
function(tx,error){
console.log(error.source+"::"+error.message);
});
}
);
}
// , ” “
function saveData(){
// HTML 2
var name=document.getElementById('name').value;
var info=document.getElementById('info').value;
//
var time= new Date().getTime();
// , ,
addData(name,info,time);
// <p id="msg">
showAllData();
}
htmlコード:
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title> HTML5 DEMO</title>
<script type="text/javascript" src="js/operateDB.js"></</script>
</head>
<body onload="init();">
<h1> HTML5 DEMO</h1>
<table>
<tr><td> :</td><td><input type="text" id="name"></td></tr>
<tr><td> :</td><td><input type="text" id="info"></td></tr>
<tr>
<td></td>
<td><input type="button" value=" " onclick="saveData();"></td>
</tr>
</table>
<hr>
<table id="datatable" border="1"></table>
<p id="msg"></p>
</body>