kurupt_89
kurupt_89

Reputation: 1592

Multidimensional array problem

I want to create a multidimensional array with 2 columns and have the row size a dynamic value. I then want to populate the multidimensional array with values from 2 different SQL queries (Microsoft).

The problem is That when the page loads it seems to be empty. How can Fill each column with he two different recordsets?

Or

At least return the total number of rows in the recordset?

Code below -

 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)

Upvotes: 1

Views: 323

Answers (2)

kurupt_89
kurupt_89

Reputation: 1592

Figured it out myself by using preseve in the redim of my array so the code below fixed my problem -

'--------------------------------------------   
        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

                '--------------------------------------------  

Upvotes: 1

kheya
kheya

Reputation: 7621

If you run this query, do you get rows returned?

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

Upvotes: 0

Related Questions