<SCRIPT language=JavaScript>
<%
startime=timer()
dim conn
set conn=server.CreateObject("adodb.connection")
DBPath = Server.MapPath("db.mdb")
conn.open "provider=microsoft.jet.oledb.4.0; data source="&DBpath
set rs=server.createobject("adodb.recordset")
rs.open "select * from table",conn,1,3
%>
<%
while  not rs.eof 
%>
                      
document.write(<%=rs("id")%>)
                  
<% 
rs.movenext
wend
%>
<%
rs.Close
set rs=nothing
conn.close
set conn=nothing
%>
</SCRIPT>

解决方案 »

  1.   

    这样做在不引用JS文件的ASP文件中是行的,但是对于想把数据传到JS文件中是不行的,因为JS文件中不能包含服务器端脚本,所以一种可行的做法是建一个JS数组,在主文件中用服务器脚本产生给这个数组赋值的语句,然后调用JS文件中的函数实现输出,以下给出一个例子,只是为了说明思想,所以未从数据库中取值,使用时做相应的修改即可。文件一:test.asp
    <!--author:zangleo filename:test.asp-->
    <html>
    <head>
    <title>范例</title>
    </head>
    <script language="javascript" src="test.js"></script>
    <script language="javascript">
    <%
    ''以下用一个循环模拟输出数据,实际使用时改为相应的输出记录集中的数据字段值即可
    i=0
    eof=false
    while not eof 
    response.write "arrInfo[" & i & "]=" & i & ";"
    i=i+1
    if i>8 then eof=true
    wend
    %>
       dispInfo()
    </script>
    <body>
    </body>
    </html>文件二:test.js
    //author:zangleo   filename:test.js
    var arrInfo=new Array();function dispInfo(){
    for(var i=0;i<arrInfo.length;i++)
    document.writeln(arrInfo[i]);
    }