您的位置:首页 > 数据库

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: