éè¿HTML5çæ¹å¼å°±å¯ä»¥ï¼ä¸é¢æ¯ç¤ºä¾ä»£ç ï¼
ç¨HTML5
APIæ¥æä½æ¬å°SQLiteæ°æ®åºçä¾åï¼
HTML代ç ï¼
1. <!DOCTYPE
html>
2. <head>
3. <meta
charset="UTF-8">
4. <title>使ç¨HTML5æ¬å°æ°æ®åºDEMO</title>
5. <script type="text/javascript"
src="js/operateDB.js"></</script>
6. </head>
7.
8. <body
onload="init();">
9. <h1>使ç¨HTML5æ¬å°æ°æ®åºDEMO</h1>
10. <table>
11.
<tr><td>å§åï¼</td><td><input
type="text"
id="name"></td></tr>
12.
<tr><td>èµæï¼</td><td><input
type="text"
id="info"></td></tr>
13.
<tr>
14.
<td></td>
15.
<td><input
type="button" value="ä¿å"
onclick="saveData();"></td>
16.
</tr>
17. </table>
18. <hr>
19. <table id="datatable"
border="1"></table>
20. <p
id="msg"></p>
21. </body>
javascript å°è£
äºè®¸å¤æ¹æ³ï¼æ¯å¦ä¿åæ°æ®å°æ°æ®åºï¼æ´æ°ï¼åæ¥ä¸æ¹çå表çã
1.
5.
6. //è¿ä¸ªæ¯ä¸æ¹çè¡¨æ ¼å
ç´
7. var datatable = null;
8.
9. //å建ä¸ä¸ªæ°æ®åºå¯¹è±¡
10. //4个åæ°åå«æ¯ æ°æ®åºå,çæ¬å·ï¼æ°æ®åºçæè¿°ï¼æ°æ®åºå¤§å°
11. var db = openDatabase('MyData','','My
Database',102400);
12.
13. //init()æ¹æ³ï¼ç¨äºé¡µé¢ä¸æ¹è¡¨æ ¼å
ç´ çå¼ç¨ï¼å¹¶ä¸æ¾ç¤ºææçæ°æ®åºè®°å½
14. function init(){
15.
//åå¾ä¸æ¹çè¡¨æ ¼å
ç´ ï¼å¹¶ä¸èµå¼ç»å
¨å±åé
16.
datatable = document.getElementByIdx_x("datatable");
17.
18.
//æ¾ç¤ºææå·²ç»å¨æ°æ®åºä¸åå¨çè®°å½
19.
showAllData();
20. }
21.
22.
//removeAllData()æ¹æ³ï¼ç¨äºç§»é¤ææçè¡¨æ ¼ä¸çå½åæ¾ç¤ºæ°æ®ï¼å®å¹¶ä¸å»é¤æ°æ®åºè®°å½ï¼
23. function removeAllData(){
24.
//é¦å
ï¼å®å°<table>ä¸é¢çææåå
ç´ å
¨é¨æ¸
é¤
25.
//æ以ï¼è¿éå®å¯¹äºdatatableç»ä»¶è¿è¡éå
26.
for(var
i=datatable.childNodes.length-1;i>=0;i--){
27.
datatable.removeChild(datatable.childNodes(i));
28.
}
29.
30.
//å
¨é¨å»é¤ä¹åï¼ç°å¨éè¦æ¾ç¤ºè¿ä¸ªè¡¨å¤´é¨å<tr>éé¢æå¤ä¸ª<th>
31.
//å建表头è¡å°ææ¡£æ ä¸
32.
var tr= document_createElement_x('tr');
33.
//表头è¡ç第ä¸ä¸ªè¡¨å¤´
34.
var th1=document_createElement_x('th');
35.
//表头è¡ç第äºä¸ªè¡¨å¤´
36.
var th2=document_createElement_x('th');
37.
//表头è¡ç第ä¸ä¸ªè¡¨å¤´
38.
var th3=document_createElement_x('th');
39.
//设置è¿3个表头çææ¬
40.
th1.innerHTML="å§å";
41.
th2.innerHTML="èµæ";
42.
th3.innerHTML="æ¶é´";
43.
//å°è¿äºè¡¨å¤´ä¾æ¬¡æ¾å¨è¡¨å¤´è¡ä¸
44.
tr.a(th1);
45.
tr.a(th2);
46.
tr.a(th3);
47.
//å°è¿ä¸ªæ°å建ç表头è¡æå°è¡¨æ ¼ä¸
48.
datatable.a(tr);
49. }
50.
51.
//æ建æå®æ°æ®åºè¡çæ°æ®å¯¹åºçHTMLææ¬ãä¼ å
¥åæ°ï¼æ°æ®åºç»æéä¸çæä¸è¡è®°å½
52. function showData(row){
53.
//æ建ä¸ä¸ªè¡¨è¡ç¨äºåå¾å½åæè¦çä¿¡æ¯
54.
var tr= document_createElement_x('tr');
55.
//å建第ä¸åï¼è¿ä¸åæ¯å§å
56.
var td1=document_createElement_x('td');
57.
//å¡«å
第ä¸åçä¿¡æ¯ä¸ºè¯¥è¡çname
58.
td1.innerHTML=row.name;
59.
//å建第äºåï¼è¿ä¸åæ¯çè¨
60.
var td2=document_createElement_x('td');
61.
//å¡«å
第ä¸åçä¿¡æ¯ä¸ºè¯¥è¡çmessage
62.
td2.innerHTML=row.info;
63.
//å建第ä¸åï¼è¿ä¸åæ¯æ¥æ
64.
var td3=document_createElement_x('td');
65.
//å建ä¸ä¸ªæ¥æ对象
66.
var t = new Date();
67.
t.setTime(row.time);
68.
//å°æ¥æçæ åå½¢å¼åå½é
åæ¥æå½¢å¼åå«è®¾ç½®ç»å½åå
69.
td3.innerHTML=t.toLocaleString()+" "+t.toLocaleTimeString();
70.
//å§è¿ä¸åæå°å½åè¡ä¸
71.
tr.a(td1);
72.
tr.a(td2);
73.
tr.a(td3);
74.
//让è¿ä¸ªè¡¨æ ¼å¨åé¢å ä¸è¿ä¸è¡
75.
datatable.a(tr);
76. }
77.
78. //è¿ä¸ªå½æ°ç¨äºæ¾ç¤ºææçè¡å°è¡¨æ ¼ä¸ï¼è¿äºè¡æ¯ä»æ°æ®åºä¸æ¿åºæ¥ç
79. function showAllData(){
80.
//å¼å¯SQLiteæ°æ®åºäºå¡,å®ç¨ä¸ä¸ªåè°å½æ°ä½ä¸ºåæ°è¡¨æè¦æ§è¡çè¯å¥
81.
db.transaction(function(tx){
82.
//é¦å
å®å建ä¸ä¸ªæ°æ®åºè¡¨ï¼éé¢æ3个å段
83.
tx.executeSql('CREATE TABLE IF NOT EXISTS InfoData(name TEXT,info
TEXT,time INTEGER)',[]);
84.
//å建ä¸ä¸ªæ¥è¯¢è¯å¥ç¨æ¥æ¥è¯¢æ°æ®åºè¡¨çææè®°å½ï¼è¿ä¸ªç±äºæ¯æææ¥è¯¢ï¼æ以ä¸éè¦é¢ç¼è¯è¯å¥ååæ° (第äºä¸ªåæ°)ï¼
85.
//ç¶åå®ä¹äºä¸ä¸ªåè°å½æ°ï¼è¡¨æ对äºç»æéçå¤ç
86.
tx.executeSql('SELECT * FROM InfoData',[],function(tx,rs){
87.
88.
//对äºç»æéï¼é¦å
ï¼å¨è·åå®ä¹å移é¤é¡µé¢ä¸ç<table>çæææ°æ®
89.
removeAllData();
90.
//éåç»æéï¼å¯¹äºæ¯ä¸è¡ï¼ä¾æ¬¡è°ç¨showDataæ¥å¨tableä¸å建对äºçhtmlææ¬
91.
for(var i=0;i<rs.rows.length;i++){
92.
//对äºitem(i)ï¼ä¹å°±æ¯æä¸è¡è®°å½ï¼æ们æ¾ç¤ºå
¶å
容å°é¡µé¢çè¡¨æ ¼ä¸ï¼æ建对åºçHTMLçæï¼
93.
showData(rs.rows.item(i));
94.
}
95.
});
96.
}
97.
98.
);
99. }
100.
101.
//è¿ä¸ªå½æ°ç¨äºæ·»å ä¸æ¡è®°å½å°æ°æ®åºä¸ï¼è¿äºä¿¡æ¯æäºæ¯ä»é¡µé¢è·å¾çï¼æäºæ¯ç³»ç»çæçã
102. function addData(name,info,time){
103.
//å¼å¯ä¸ä¸ªæ°æ®åºäºå¡
104.
//åè°å½æ°æ¯ä¸ä¸ªæåæ°çæå
¥è¯å¥ï¼å¯ä»¥çå°æ们æå
¥å°è¡¨InfoDataä¸ï¼æå
¥çå
容ä¹å°±æ¯åæ°ä¼ éè¿æ¥çå
容
105.
db.transaction(function(tx){
106.
107.
//æå
¥çè¯å¥æ¯ä¸ªæ¨¡æ¿è¯å¥
108.
//æå
¥æåçåè°å°±æ¯å¨æ§å¶å°ä¸è¾å
¥ä¸è¡æ¥å¿
109.
tx.executeSql('INSERT INTO InfoData VALUES(?,?,?)' ,
[name,info,time],function(tx,rs){
110.
console.log("æåä¿åæ°æ®!");
111.
},
112.
//æå
¥å¤±è´¥çåè°å°±æ¯å¨æ§å¶å°ä¸è¾å
¥ä¸è¡é误æ¥å¿
113.
function(tx,error){
114.
console.log(error.source+"::"+error.message);
115.
});
116.
}
117.
118.
);
119. }
120.
121. //ä¿åç¨æ·çå½åè¾å
¥ï¼è¿ä¸ªæ¯ä½ä¸ºç¹å»é¡µé¢ä¸âä¿åâæé®çäºä»¶å¤çå½æ°
122. function saveData(){
123.
//ä»HTML页é¢ä¸åå¾2个è¾å
¥æ¡çææ¬
124.
var name=document.getElementByIdx_x('name').value;
125.
var info=document.getElementByIdx_x('info').value;
126.
//å¾å°å½åçç³»ç»æ¶é´
www.2cto.com127.
var time= new Date().getTime();
128.
//å°ç¨æ·åï¼ç¨æ·ä¿¡æ¯ï¼å½åæ¶é´åå°æ°æ®åºä¸
129.
addData(name,info,time);
130.
//æ´æ°ä¸æ¹<p id="msg">çè¡¨æ ¼æ¾ç¤º
131.
showAllData();
132. }