多维数组问题



我想创建一个包含2列的多维数组,并使行大小为动态值。然后,我想用来自两个不同SQL查询(Microsoft)的值填充多维数组。

问题是,当页面加载时,它似乎是空的。如何用两个不同的记录集填充每一列?

是否至少返回记录集中的总行数?

以下代码-

 connectionstring = obj_ADO.getconnectionstring
    Set objCon = CreateObject("ADODB.Connection")
    Set objRS = CreateObject("ADODB.Recordset")
    set objComm = CreateObject("ADODB.Command")
    objCon.Open connectionstring
    objComm.ActiveConnection = objCon.ConnectionString
    objComm.CommandText = "A_Page_Paging"
    objComm.CommandType = adCmdStoredProc
    Set objParameter = objComm.CreateParameter
    objParameter.Name = "selected_Char"
    objParameter.Type = adChar
    objParameter.Direction = adParamInput
    objParameter.Size = 3
    objParameter.Value = Selected_Button
    objComm.Parameters.Append objParameter
    set objRS = objComm.Execute
    Increment = 0
    Dim testArray()
    while not objRS.EOF      
    Redim testArray(2, increment)
 '--------------------------------------------
                    Page_ID = objRS("P_PageID")
                    connectionstring = obj_ADO.getconnectionstring
                    Set objConn = CreateObject("ADODB.Connection")
                    Set objRSS = CreateObject("ADODB.Recordset")
                    objConn.Open connectionstring
                    SQL = "Select P_Name as P_Name, P_Description as P_Description from L_PagePermission inner join A_Permission on p_permissionID = pp_PermissionID inner join A_Page on P_PageID = PP_PageID where P_PageID =" & Page_ID & " order by p_Name"                          
                    objRSS.open SQL, objConn

                    if not objRSS.EOF then                                            
                        objRSS.MoveFirst
                        while not objRSS.EOF
                        'Fill Array
                        testArray(0, increment) = objRS("P_PageID")
                        objRSS.MoveNext
                    wend
                    objRSS.close
                    objConn.close
                    else
                        testArray(0, increment) = "-"              
                    end if     
                    Increment = Increment + 1                                   
                '--------------------------------------------                                       
                    %>                      
        <%
            objRS.MoveNext
            wend
            objRS.Close
            objCon.Close  

            response.Write testArray(0,5)

我自己通过在数组的redim中使用presive解决了这个问题,所以下面的代码解决了我的问题-

'--------------------------------------------   
        Increment = 0
        Dim testArray()                  
        connectionstring = obj_ADO.getconnectionstring

        Set objConn = CreateObject("ADODB.Connection")
        Set objRSS = CreateObject("ADODB.Recordset")
        objConn.Open connectionstring
        SQL = "select * from a_permission inner join L_PagePermission on P_PermissionID = PP_PermissionID inner join A_Page on P_PageID = PP_PageID order by P_Name"                          
        objRSS.open SQL, objConn

        if not objRSS.EOF then                                            
            objRSS.MoveFirst
            while not objRSS.EOF
            Redim Preserve testArray(2, increment)              
            'Two Dimensional Array
            testArray(0, increment) = objRSS("P_PageID")
            testArray(1, increment) = objRSS("P_Name")
            objRSS.MoveNext
            Increment = Increment + 1    
        wend
        objRSS.close
        objConn.close
        else
            testArray(0, increment) = "-"
            testArray(1, increment) = "-"            
        end if     
    '--------------------------------------------       

                '--------------------------------------------
                    Page_ID = objRS("P_PageID")
                    for i = 0 to (increment - 1)
                        if testArray(0, i) = Page_ID then
                     %>                    
                        <li style="" ="padding:0;margin:0;"><%=testArray(1,i)%></li>
                    <%
                        end if
                    next
                '--------------------------------------------  

如果运行此查询,会返回行吗?

Select P_Name as P_Name, P_Description as P_Description from L_PagePermission inner join A_Permission on p_permissionID = pp_PermissionID inner join A_Page on P_PageID = PP_PageID where P_PageID =" & Page_ID & " order by p_Name

相关内容

  • 没有找到相关文章

最新更新