1. 程式人生 > >純HTML訪問資料庫,Sql和Access

純HTML訪問資料庫,Sql和Access

偶然看到一篇博文,發現純HTML居然可以連線資料庫,驚的嘴半天合不上,於是突發奇想,是不是以後開發軟體都可以使用HTML呢?

隨便找了個數據庫,需要測試的朋友記得更改為自己的資料庫,並且將資料庫和測試頁面放置同一個目錄。

理論上應該還可以連線sqlite3資料庫,具體的沒測試。

拋磚引玉,有興趣的瞅瞅。

訪問Access資料庫:

本例測試頁面ccc.html,資料庫名:SiteWeaver.mdb

<html>
<head>
<title>get data from database at client</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<style type="text/css">
<!--
body{font-family:Times New Roman;font-size:9pt;}
table{font-family:Times New Roman;font-size:9pt;}
button{color:blue;}
//-->
</style>
<script language="Javascript">
<!--
 function connectDB()
 {
 try{
 var count=0;
 var conn=new ActiveXObject("ADODB.Connection");
 var rs=new ActiveXObject("ADODB.Recordset");
 var filePath = location.href.substring(0, location.href.indexOf("ccc.html"));
 var path = filePath + "SiteWeaver.mdb";
 var path=path.replace('file:///','')
 var connectString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path;
 var selectString="select top 5 * from PE_Admin";
 var tableString="";
 conn.open(connectString);

 rs=conn.execute(selectString);
 while(!rs.EOF)
{
 if(count++==0)
 {
 tableString+="<table border='1'><tr><td>"+rs(0)+"</td>";
 tableString+="<td>"+rs(1)+"</td></tr>";
 }
 tableString+="<tr><td>"+rs(0)+"</td>";
 tableString+="<td>"+rs(1)+"</td></tr>";
 rs.moveNext();
 }
 tableString+="</table><br>";
 document.getElementById("dataArea").innerHTML=tableString;
 rs.close();
 conn.close;
}
catch(e)
 {
 document.write(e.toString());
 }
}
//-->
</script>
</head>
<body>
<div id="dataArea"></div>
<button onclick="connectDB();">retrieve data</button> 
 </body>
</html>

SQL資料庫訪問:

本例測試頁面:ccc.html,資料庫名:SiteWeaver,使用者名稱和密碼:SiteWeaver,資料來源:local

<html>
<head>
<title>get data from database at client</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<style type="text/css">
<!--
body{font-family:Times New Roman;font-size:9pt;}
table{font-family:Times New Roman;font-size:9pt;}
button{color:blue;}
//-->
</style>
<script language="Javascript">
<!--
 function connectDB()
 {
 try{
 var count=0;
 var conn=new ActiveXObject("ADODB.Connection");
 var rs=new ActiveXObject("ADODB.Recordset");
 var connectString="provider=sqloledb.1;user id=SiteWeaver;password=SiteWeaver;data source=(local);Initial Catalog=SiteWeaver";
 var selectString="select top 5 * from PE_Admin";
 var tableString="";
 conn.open(connectString);

 rs=conn.execute(selectString);
 while(!rs.EOF)
{
 if(count++==0)
 {
 tableString+="<table border='1'><tr><td>"+rs(0)+"</td>";
 tableString+="<td>"+rs(1)+"</td></tr>";
 }
 tableString+="<tr><td>"+rs(0)+"</td>";
 tableString+="<td>"+rs(1)+"</td></tr>";
 rs.moveNext();
 }
 tableString+="</table><br>";
 document.getElementById("dataArea").innerHTML=tableString;
 rs.close();
 conn.close;
}
catch(e)
 {
 document.write(e.toString());
 }
}
//-->
</script>
</head>
<body>
<div id="dataArea"></div>
<button onclick="connectDB();">retrieve data</button>
</body>
</html>