JS使用ActiveXObject讀取數據庫代碼示例(只支持IE)


 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4     <title>測試js訪問數據庫</title>
 5 </head>
 6 <script language="javascript" type = "text/javascript">
 7     function testdb() {
 8         //   創建數據庫對象   
 9         var objdbConn = new ActiveXObject("ADODB.Connection");
10         var strdsn = "Driver={SQL Server}; Server=(local); Database=Test;UID=sa;PWD=123456";
11         //   打開數據源   
12         objdbConn.Open(strdsn);
13         //   執行SQL的數據庫查詢   
14         var objrs = objdbConn.Execute("SELECT   *   FROM   Test");
15         //   獲取字段數目   
16         var fdCount = objrs.Fields.Count - 1;
17         //   檢查是否有記錄     
18         if (!objrs.EOF) {
19             document.write("<table   border=1><tr>");
20             //   顯示數據庫的字段名稱   
21             for (var i = 0; i <= fdCount; i++)
22                 document.write("<td><b>" + objrs.Fields(i).Name + "</b></td>");
23             document.write("</tr>");
24             //   顯示數據庫內容   
25             while (!objrs.EOF) {
26                 document.write("<tr>");
27                 //   顯示每筆記錄的字段   
28                 for (i = 0; i <= fdCount; i++)
29                     document.write("<td   valign='top'>" + objrs.Fields(i).Value + "</td>");
30                 document.write("</tr>");
31                 objrs.moveNext();     //   移到下一筆記錄   
32             }
33             document.write("</table>");
34         }
35         else
36             document.write("數據庫內沒有記錄!<br>");
37 
38         objrs.Close();                 //   關閉記錄集合   
39         objdbConn.Close();         //   關閉數據庫鏈接   
40     }
41 </script>
42 
43 <body onload="InitDB()">
44     This is my page.
45     <br>
46     <input type="button" value="submit" onclick="testdb()" />
47 </body>
48 </html>

以上代碼可以實現JS讀取數據庫並以列表方式顯示出來。點擊button即可看到結果。

執行的SQL語句是:SELECT   *   FROM   Test。

 

不過可惜的是,似乎只有IE支持(至少IE8可以),chrome和firefox不支持,會報錯:

Uncaught ReferenceError: InitDB is not defined
Uncaught ReferenceError: ActiveXObject is not defined
 
主要是ActiveXObject對象的問題。切記:ActiveX是微軟的東西,故而這玩意兒只有IE才支持!
鏈接介紹 ActiveXObject,可以實現很多操作:文件操作、數據庫操作、注冊表操作。有點危險的行為。
http://www.jsann.com/post/activexobject_in_javascript.html
http://eyesinthesky.iteye.com/blog/1560033


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM