我现在有这样一段代码:
<% 
Dim A 
A = Array("深圳","郑州","上海") 
%> 
<script> 
var arr=new Array(<%UBound(A)%>); 
<% for i=0 to UBound(A)%> 
arr[<%=i%>]='<%=A(i)%>'; 
<%next%> 
alert(arr); 
</script>
想请高手指点一点:
现在A中的数组值是指定,我现在100多条记录,不过能一一输入
请问有什么办法可以将数据库查询到一个字段值赋给这个数组

解决方案 »

  1.   

    <%dim rs as recordset
    dim i as integer
    i=0
    rs.open "select item from tbl",conn
    while not rs.eof%>
    arr[<%=i%>]='<%=rs("item")%>'; 
    <%i=i+1
    wend%>
      

  2.   

    好像不行啊!
    dim i as integer提示Microsoft VBScript 编译器错误 '800a0401' 语句未结束 \wwwroot\qis\asp\srm\Untitled-19.asp, line 11
      

  3.   

    不是javascript吗,咋vbscript了?
      

  4.   

    <%set rs=server.createobject("adodb.recrordset")
    set conn=server.createobject("adodb.connection")
    dim i as integer
    rs.open "select item from table",conn,1,1
    if not (rs.eof and rs.bof)
        while(not rs.eof)%>
        arr[<%=i%>]='<%=rs("item")%>' 
        <%wend 
    end if%>
      

  5.   


    <%
        set conn = server.createobject("adodb.connection")
        set rs = server.createobject("adodb.recordset") 
        conn.open "Driver={Microsoft Access Driver (*.mdb)};uid=*;pwd=*;DBQ=" + Server.MapPath("*")
    %>
    <script type=text/javascript>
    <%
        sql="select * from table"
        rs.open sql, conn, 1, 1
        do while not rs.eof
    %>
        arr[arr.length] = <%=rs("item")%>;
    <%
        rs.movenext
        loop
        rs.close 
        set rs = nothing
        conn.close
        set conn = nothing 
    %>
    </script>
      

  6.   


    <%
        set conn = server.createobject("adodb.connection")
        set rs = server.createobject("adodb.recordset") 
        conn.open "Driver={Microsoft Access Driver (*.mdb)};uid=*;pwd=*;DBQ=" + Server.MapPath("*")
    %>
    <script type=text/javascript>
        var arr = [];
    <%
        sql="select * from table"
        rs.open sql, conn, 1, 1
        do while not rs.eof
    %>
        arr[arr.length] = <%=rs("item")%>;
    <%
        rs.movenext
        loop
        rs.close 
        set rs = nothing
        conn.close
        set conn = nothing 
    %>
        alert(arr)
    </script>
      

  7.   


    <%
        set conn = server.createobject("adodb.connection")
        set rs = server.createobject("adodb.recordset") 
        conn.open "Driver={Microsoft Access Driver (*.mdb)};uid=*;pwd=*;DBQ=" + Server.MapPath("*")
    %>
    <script type=text/javascript>
        var arr = [];
    <%
        dim str
        sql="select * from table"
        rs.open sql, conn, 1, 1
        str = ""
        do while not rs.eof
        str = str & rs("item") & "|"
        rs.movenext
        loop
        rs.close 
        set rs = nothing
        conn.close
        set conn = nothing 
    %>
        arr = '<%=rs("str")%>'.split("\|")
        alert(arr)
    </script>
      

  8.   


    <%
        Response.ContentType = "text/html"
    Response.Addheader "Content-Type","text/html; charset=gb2312"
    set conn = Server.CreateObject("Adodb.Connection") 
    conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\AspWeb\wwwroot\qis\data\qis.mdb"
    %>
    <script type=text/javascript>
        var arr = [];
    <%
        sql="SELECT DISTINCT content  FROM srm_list"
        rs.open sql, conn, 1,1
        do while not rs.eof
    %>
        arr[arr.length] = <%=rs("content")%>;
    <%
        rs.movenext
        loop
        rs.close 
        set rs = nothing
        conn.close
        set conn = nothing 
    %>
        alert(arr)
    </script>
    很奇怪,我在自己的机子上运行了一下,没有弹出alert框,也没有任何错误提示,请prototyper再麻烦看一下
      

  9.   

    看看这样可以不?<%
        set conn = server.createobject("adodb.connection")
        set rs = server.createobject("adodb.recordset") 
        conn.open "Driver={Microsoft Access Driver (*.mdb)};uid=*;pwd=*;DBQ=" + Server.MapPath("*")
    %>
    <script type=text/javascript>
        var arr = [];
    <%
        dim str
        sql="select * from table"
        rs.open sql, conn, 1, 1
        str = ""
        do while not rs.eof
        str = str & rs("item") & "||"
        rs.movenext
        loop
        rs.close 
        set rs = nothing
        conn.close
        set conn = nothing 
    %>
        arr = '<%=str%>'.split("\|\|");
        alert(arr)
    </script>
      

  10.   


    不好意思,我都不知道怎么回来,我改成下面这个样子还是不能用<%
        set conn = server.createobject("adodb.connection")
        set rs = server.createobject("adodb.recordset") 
        conn.open "Driver={Microsoft Access Driver (*.mdb)};uid=*;pwd=*;DBQ=" + Server.MapPath("../../data/qis.mdb")
    %>
    <script type=text/javascript>
        var arr = [];
    <%
        dim str
        sql="select * from srm_list"
        rs.open sql, conn, 1,1
        str = ""
        do while not rs.eof
        str = str & rs("content") & "||"
        rs.movenext
        loop
        rs.close 
        set rs = nothing
        conn.close
        set conn = nothing 
    %>
        arr = '<%=str%>'.split("\|\|");
        alert(arr)
    </script>
      

  11.   

    是引号问题吗?<%
        set conn = server.createobject("adodb.connection")
        set rs = server.createobject("adodb.recordset") 
        conn.open "Driver={Microsoft Access Driver (*.mdb)};uid=*;pwd=*;DBQ=" + Server.MapPath("*")
    %>
    <script type=text/javascript>
    <%
        dim str, arr
        str = ""
        sql="select * from table"
        rs.open sql, conn, 1, 1
        do while not rs.eof
        str = str & rs("item") & "|"
        rs.movenext
        loop
        rs.close 
        set rs = nothing
        conn.close
        set conn = nothing
        arr = split(str, ""|")
    %>
        alert(<%=arr%>)
    </script>
      

  12.   

    不知道怎么回事,还是不行。
    这次可以弹出上个警告框,但是却是如下一个提示:function array(){
    [native code]
    }
      

  13.   


    <%
        set conn = server.createobject("adodb.connection")
        set rs = server.createobject("adodb.recordset") 
        conn.open "Driver={Microsoft Access Driver (*.mdb)};uid=*;pwd=*;DBQ=" + Server.MapPath("../../data/qis.mdb")
    %>
    <script type=text/javascript>
    <%
        dim str
        str = ""
        sql="select * from srm_list"
        rs.open sql, conn, 1,1
        do while not rs.eof
        str = str & rs("content") & "|"
        rs.movenext
        loop
        rs.close 
        set rs = nothing
        conn.close
        set conn = nothing 
    %>
        var arr = <%=str%>.split("\|");
        alert(arr)
    </script>
    其实这样不好 ...... 
      

  14.   

    非常感激“prototyper”
    帮了我很大的忙
    可是不知道怎么回事
    还是不成功
    关键我是一个新手
    都不知道错在那里
      

  15.   

    我是说,那样输出就会在用户端的HTML中查看到明文的很长的字符串数据,不好。
    象这问题换一种方式呢?不要在<script></script>标签内输出,单独在head内就<script src="数据查询输出页面"></script>,或者要求动态就AJAX读取"数据查询输出页面"。"数据查询输出页面"做成单独的ASP、PHP或者JSP,前者response.write "var str =" & str或者r"foo(" &str或者json& ")",后者string 或者 json形式都行。我那数据库查询并按顺序遍历输出的语句是没问题的。
    建立单独的数据通道,在前后台之间。
      

  16.   

    谢谢这个只是我一个求助用和简单例子
    后续我们改成src引用
    关键是我这一步老是走不过
    郁闷啊