zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    springboot模板
    springboot入门
    java自定义注解
    git集成idea
    git的搭建和使用
    Shiro授权
    shiro认证
    shiro入门
    springmvc文件上传
    springmvc入门
  • 原文地址:https://www.cnblogs.com/nlh774/p/3714426.html
Copyright © 2011-2022 走看看