由于列数是不确定的,在程序里面处理比较好
声明一个列名数组,100个元素(这个表不会超过100列吧)总够了吧Set conn = Server.CreateObject("ADODB.Connection")
DSNtemp="DRIVER={SQL Server};SERVER=server;UID=sa;PWD=;DATABASE=northwind"
conn.open DSNtemp
strSQL = "select * from 表"
Set rsCustomers = Server.CreateObject("ADODB.Recordset")
rsCustomers.Open strSQL, conn
……
字段名都有了呀

解决方案 »

  1.   

    由于是过程储存表,所以不能  strSQL = "select * from 表"  来做,现在我能通过 response.write 来得到过程储存表内的列数和字段名,但怎样才能再通过 response.write 输出的字段名变成 过程储存表内字段名下的值,不知说明白了没有?
      

  2.   

    '通过这样几个属性就知道啦rs.fields.count  --得到字段的总数
    rs.fields(i).name  --得到第i列的字段名,i的取值范围是从0~rs.fields.count-1
    rs.fields(i).value --得到第i列的字段的值
      

  3.   

    '输出存储过程的执行结果'输出字段名
    icount=re.fields.count
    for i=0 to icount-1
    response.write re.fields(i).name
    next i'输出第一行的值
    for i=0 to icount-1
    response.write re.fields(i).value
    next i'输出第二行的值
    re.movenext
    for i=0 to icount-1
    response.write re.fields(i).value
    next i
      

  4.   

    那么怎样通过response.write re.fields(i).name 出来的字段名,再转变成字段名下的值呢?
    如:response.write re.fields(i).name
    得到字段名为 AA, BB,CC,三列
    但<%=rs("AA")%>,<%=rs("BB")%><%=rs("CC")%>的值怎样再拿出来?
      

  5.   

    拿到那里?<%=rs("AA").value%> --这个不就是值吗?
      

  6.   

    但 AA 这个列是通过查询才得到的呀,还可能有EE,GG的其它列,那其它的值怎样拿出来,因为表是动态生成的,所以不能确定有多少列,所以不能预先设定字段名。有什么方法?
      

  7.   

    : zjcxc(邹建) 你在
    http://expert.csdn.net/Expert/topic/2997/2997764.xml?temp=.9940607
    帮我解决的问题,现在我想在查询中把结果显示出来,但由于列数不能定死,把编号数定大了程序出错,定小了不能全部显示,我该怎样做?
      

  8.   

    列数定100列还不够呀,声明一个列名数组 比如 arr(100)
    然后icount=re.fields.count
    for i=0 to icount-1
       arr(i)=rs.fields(i).name
    next i输出值
    <%=rs(arr(1)).value%>
    <%=rs(arr(2)).value%>
      

  9.   

    用一个双重循环
    Do Until rs.EOF
     for j=0 to 列数-1
        <%=rs(arr(j)).value%>
      next j
     rs.MoveNext
    Loop
      

  10.   

    我帖一个一般显示存储过程结果的asp给你,你参考一下吧. 这种显示的话,我建议你还是转到asp版去问问比较合适<!--#include file="../common/turnpage.inc"-->
    <!--#include file="../common/share.asp"-->
    <%
    strcon= Request("strcon")
    set conn=server.CreateObject("adodb.connection")
    conn.ConnectionString=strcon
    conn.Openassistant=Request("assistant")
    assistNo=Request("assistNo")MyCurrency=Request("MyCurrency")
    radio1= Request("radio1")
    YearMonth=Request("YearMonth")
    MyStyle=Request("MyStyle")set rs1=server.CreateObject("ADODB.Recordset")
    rs1.Open "select 外币名称 from 外币",conn,1,1 set rs2=server.CreateObject("ADODB.Recordset")
    rs2.Open "select 年月 from 系统日期",conn,1,1 set rs3=server.CreateObject("ADODB.Recordset")
    select case assistant
           case "科目部门"
    rs3.Open "select 科目编号,科目名称 from 科目库  where 部门核算=1",conn,1,1 
           case "科目其他"
    rs3.Open "select 科目编号,科目名称 from 科目库  where 其他核算=1",conn,1,1 
           case "科目单位"
    rs3.Open "select 科目编号,科目名称 from 科目库  where 单位核算=1",conn,1,1 
           case "科目项目"
    rs3.Open "select 科目编号,科目名称 from 科目库  where 项目核算=1",conn,1,1 
           case "部门科目"
    rs3.Open "select 部门编号,部门名称 from 部门编号",conn,1,1 
           case "其他科目"
    rs3.Open "select 其他编号,其他名称 from 其他编号",conn,1,1 
           case "单位科目"
    rs3.Open "select 单位编号,单位名称 from 单位编号",conn,1,1 
           case "项目科目"
    rs3.Open "select 项目编号,项目名称 from 项目编号",conn,1,1 
    end select
    if rs3.RecordCount <1 then
    Response.Write "没有此辅助核算!"
    Response.End  
    end ifif assistant="" then assistant=1
    if MyCurrency="" then MyCurrency="<本位币>"
    if radio1="" then radio1="1"
    if YearMonth="" then YearMonth=rs2("年月")
    if MyStyle="" then MyStyle="风格1"
    if assistNo="" then assistNo=rs3(0)
    set rs=server.CreateObject("ADODB.Recordset")
    level=0
    if mid(assistant,1,2)="科目" then
    sql="exec 生成科目汇总表 " & YearMonth & ",1,'" &  assistNo & "','" & MyCurrency & "','','','','','" & assistant & "',0," & radio1 & ",1,1,1,1,1"
    else
         select case assistant
    case "部门科目"
    sql="exec 生成科目汇总表 " & YearMonth & ",3,'','" & MyCurrency & "','" & assistNo & "','','','','" & assistant & "',0," & radio1 & ",1,1,1,1,1"
    case "单位科目"
    sql="exec 生成科目汇总表 " & YearMonth & ",3,'','" & MyCurrency & "','','" & assistNo & "','','','" & assistant & "',0," & radio1 & ",1,1,1,1,1"
    case "项目科目"
    sql="exec 生成科目汇总表 " & YearMonth & ",3,'','" & MyCurrency & "','','','" & assistNo & "','','" & assistant & "',0," & radio1 & ",1,1,1,1,1"
    case "其他科目"
    sql="exec 生成科目汇总表 " & YearMonth & ",3,'','" & MyCurrency & "','','','','" & assistNo & "','" & assistant & "',0," & radio1 & ",1,1,1,1,1"
       end select
    end if
    rs.CursorLocation=3 
    rs.Open sql,conn,1,1 
    %>
    <html>
    <head>
    <meta http-equiv="Content-Language" content="zh-cn">
    <meta http-equiv="Content-Type" content="text/html; chars1et=gb2312">
    <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <title>New Page 1</title>
    <script language="javascript">
    function CheckInfo(){
     document.thisForm.submit();
    }
    </script>
    <link rel="stylesheet" href="../common/kfox.css">
    </head><body background="/gif/bg.gif">
    <form action="TotalReprot_assistant.asp"  name="thisForm">
    <input type="hidden" name="assistant" value="<%=assistant%>">
    <input type="hidden" name="strcon" value="<%=strcon%>">
    <table border="0" width="100%" class=CenterTable>
    <tr class=CenterTopTr> 
    <td >币种:</td>
    <td ><SELECT  name="MyCurrency"> 
        <%if MyCurrency="<本位币>" then%>
       <OPTION value="<本位币>" selected>本位币</OPTION>
        <%else%>
       <OPTION value="<本位币>">本位币</OPTION>
        <%end if%>
          <%do while not rs1.EOF %>       
        <%if MyCurrency=trim(rs1("外币名称")) then%>
       <OPTION value="<%=trim(rs1("外币名称"))%>" selected><%=trim(rs1("外币名称"))%></OPTION>
        <%else%>
       <OPTION value="<%=trim(rs1("外币名称"))%>"><%=trim(rs1("外币名称"))%></OPTION>
         <%end if%>
        <%rs1.MoveNext 
        loop%>
      </SELECT></td>
    <td width="60%" colspan="2"><INPUT name=radio1 type=radio <%if radio1="1"then%> checked <%end if%>  value="1">包含未记帐凭证&nbsp;   
    <INPUT  name=radio1 type=radio   <%if radio1="0"then%> checked <%end if%> value="0">不包含未记帐凭证&nbsp;</td>       
    <td width="18%">     
    <p align="center"><INPUT  name=gogo type=button value="<-返回"></p>
    </td>     
      </tr>      
      <tr class=CenterTopTr>  
        <td >年月:</td>      
        <td ><SELECT  name="YearMonth">       
              <%do while not rs2.EOF%> 
                  <%if YearMonth=trim(rs2("年月")) then %> 
    <OPTION value="<%=trim(rs2("年月"))%>" selected><%=trim(rs2("年月"))%></OPTION> 
                  <%else%> 
    <OPTION value="<%=trim(rs2("年月"))%>"><%=trim(rs2("年月"))%></OPTION> 
                 <%end if%> 
              <%rs2.MoveNext  
              loop%> 
            </SELECT></td> 
        <td >风格: <SELECT  name="MyStyle">       
        <OPTION value="风格1" <%if MyStyle="风格1" then %> selected <%end if%>>风格1</OPTION>
        <OPTION value="风格2" <%if MyStyle="风格2" then %> selected <%end if%>>风格2</OPTION>
        <OPTION value="风格3" <%if MyStyle="风格3" then %> selected <%end if%>>风格3</OPTION>
        </SELECT></td>
        <td >&nbsp; 请你选择:<select size="1" name="assistNo">
           <%do while not rs3.EOF%>
                   <option value="<%=rs3(0)%>" <%if assistNo=rs3(0) then%> selected <%end if%>><%=rs3(1)%>
              <%rs3.MoveNext 
            loop%>        </select></td>
        <td > 
          <p align="center"><INPUT  name=confirm type=button value="确  定" onclick="CheckInfo();" ></p> 
        </td> 
      </tr> 
    </table> 
    <p></p><%if mid(assistant,1,2)="科目" then%>
    <%if MyCurrency="<本位币>" then %>
    <%if  MyStyle="风格1" then%><!--#include file="SubjectTotal1B.inc"--> <%end if%>
    <%if  MyStyle="风格2" then%><!--#include file="SubjectTotal2B.inc"--> <%end if%>
    <%if  MyStyle="风格3" then%><!--#include file="SubjectTotal3B.inc"--> <%end if%>
    <%else%>
    <%if MyStyle="风格1" then%><!--#include file="SubjectTotal1C.inc"--> <%end if%>
    <%if MyStyle="风格2" then%><!--#include file="SubjectTotal2C.inc"--> <%end if%>
    <%if MyStyle="风格3" then%><!--#include file="SubjectTotal3C.inc"--> <%end if%>
    <%end if%>
    <%else%>
    <%if MyCurrency="<本位币>" then %>
    <%if  MyStyle="风格1" then%><!--#include file="SubjectTotal11.inc"--> <%end if%>
    <%if  MyStyle="风格2" then%><!--#include file="SubjectTotal21.inc"--> <%end if%>
    <%if  MyStyle="风格3" then%><!--#include file="SubjectTotal31.inc"--> <%end if%>
    <%else%>
    <%if MyStyle="风格1" then%><!--#include file="SubjectTotal13.inc"--> <%end if%>
    <%if MyStyle="风格2" then%><!--#include file="SubjectTotal23.inc"--> <%end if%>
    <%if MyStyle="风格3" then%><!--#include file="SubjectTotal33.inc"--> <%end if%>
    <%end if%>
    <%end if%><%call turnpage(rs,page,"hzb")%>
    </form>
    </body> 
    </html> 
    <script language=vbscript>
    '返回上一级页面
    sub gogo_onclick
    window.parent.location.href="../main.asp?strcon=<%=strcon%>"
    end sub
    </script>