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不支持,会报错: