JS使用ActiveXObject读取数据库代码示例(只支持IE)
2014-05-07 18:55
597 查看
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>测试js访问数据库</title> </head> <script language="javascript" type = "text/javascript"> function testdb() { // 创建数据库对象 var objdbConn = new ActiveXObject("ADODB.Connection"); var strdsn = "Driver={SQL Server}; Server=(local); Database=Test;UID=sa;PWD=123456"; // 打开数据源 objdbConn.Open(strdsn); // 执行SQL的数据库查询 var objrs = objdbConn.Execute("SELECT * FROM Test"); // 获取字段数目 var fdCount = objrs.Fields.Count - 1; // 检查是否有记录 if (!objrs.EOF) { document.write("<table border=1><tr>"); // 显示数据库的字段名称 for (var i = 0; i <= fdCount; i++) document.write("<td><b>" + objrs.Fields(i).Name + "</b></td>"); document.write("</tr>"); // 显示数据库内容 while (!objrs.EOF) { document.write("<tr>"); // 显示每笔记录的字段 for (i = 0; i <= fdCount; i++) document.write("<td valign='top'>" + objrs.Fields(i).Value + "</td>"); document.write("</tr>"); objrs.moveNext(); // 移到下一笔记录 } document.write("</table>"); } else document.write("数据库内没有记录!<br>"); objrs.Close(); // 关闭记录集合 objdbConn.Close(); // 关闭数据库链接 } </script> <body onload="InitDB()"> This is my page. <br> <input type="button" value="submit" onclick="testdb()" /> </body> </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
相关文章推荐
- 使用js的replace()方法查找字符示例代码
- vue中使用heatmapjs的示例代码(结合百度地图)
- 一个图片轮换显示的实现,使用DIV+JS,支持Firefox,IE,Safiri
- [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器
- IE下使用excanvas.js之后动态创建的canvas不支持getContext的解决方法(转)
- 支持IE和火狐浏览器的加入收藏夹js代码
- JSON与JS一起使用代码示例
- asm.js使用示例代码
- JS控制图片翻转示例代码(兼容firefox,ie,chrome)
- js 漂浮广告代码(支持一个页面多次使用,其中一个带关闭功能哦!^^)
- 在 Angular 中使用Chart.js 和 ng2-charts的示例代码
- [转]IE下使用excanvas.js之后,动态创建的canvas不支持getContext的解决方法
- Node.js使用对话框ngDialog的示例代码
- 使用node.js建博客(六) - 添加代码高亮的支持 (Final)
- IE不支持js的checkbox遍历使用for in语法
- js禁止页面使用右键(简单示例代码)
- js使用html2canvas实现屏幕截取的示例代码
- vue中使用gojs/jointjs的示例代码
- JS代码获取当前日期时支持IE,不兼容FF和chrome,解决这个问题,我们需要把获取时间的getYear()函数换成getFullYear()
- Kad -- 自己写的JS浮动广告代码封装器 支持FF/IE