Subject: ADODB.Recordset error '800a0cb3'
Posted By: khalid08 Post Date: 9/23/2003 1:22:22 AM
hello there,
 im getting below error in my program of database paging using ASP and MySql Server .
error:

ADODB.Recordset error '800a0cb3'

Object or provider is not capable of performing requested operation.
/db_paging_array.asp, line 58

see below is db_paging.asp

<%
Option Explicit

Const adOpenStatic   = 3
Const adLockReadOnly = 1
Const adCmdText      = &H0001

Dim CONN_STRING
'CONN_STRING = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("database.mdb")
  CONN_STRING = "DSN=medcente-test"
  

Dim iPageSize
Dim iPageCount
Dim iPageCurrent
Dim strOrderBy
Dim strSQL
Dim objPagingConn
Dim objPagingRS
Dim iRecordsShown
Dim iFieldCount
Dim iRecordCount
Dim LoopRecordCount
Dim pageNum
Dim counter
Dim markShowPage
Dim I, J

iPageSize = 6

If Request.QueryString("page") = "" Then
    iPageCurrent = 1
Else
    iPageCurrent = CInt(Request.QueryString("page"))
End If

strSQL = "SELECT * from data1 order by name asc;"

Set objPagingConn = Server.CreateObject("ADODB.Connection")
objPagingConn.Open CONN_STRING

Set objPagingRS = Server.CreateObject("ADODB.Recordset")
objPagingRS.PageSize = iPageSize
objPagingRS.CacheSize = iPageSize
objPagingRS.Open strSQL, objPagingConn, adOpenStatic, adLockReadOnly, adCmdText

iPageCount = objPagingRS.PageCount
iFieldCount = objPagingRS.Fields.Count
iRecordCount = objPagingRS.RecordCount

If iPageCurrent > iPageCount Then iPageCurrent = iPageCount
If iPageCurrent < 1 Then iPageCurrent = 1

If iPageCount = 0 Then
    Response.Write "No records found!"
Else
    objPagingRS.AbsolutePage = iPageCurrent
'LINE 151 (see above line where error occuring)
    Dim arrDBData
    ReDim arrDBData(iFieldCount, iRecordCount)
    LoopRecordCount = 0

    'arrDBData = objPagingRS.GetRows()

    Do While LoopRecordCount < iPageSize And Not objPagingRS.EOF
        For I = 0 To objPagingRS.Fields.Count - 1
            arrDBData(I, LoopRecordCount) = objPagingRS.Fields(I)
        Next
        LoopRecordCount = LoopRecordCount + 1
        objPagingRS.MoveNext
    Loop

    objPagingRS.Close
    Set objPagingRS = Nothing
    objPagingConn.Close
    Set objPagingConn = Nothing
End If

iRecordCount = iRecordCount - 1
iFieldCount  = iFieldCount - 1
LoopRecordCount = LoopRecordCount - 1

pageNum = Round(iRecordCount/iPageSize)
If pageNum < (iRecordCount/iPageSize) Then pageNum = pageNum + 1

Response.Write "&nbsp;&nbsp;<b>Page: "
For counter = 1 To pageNum
    if counter=iPageCurrent then
        Response.Write "&nbsp;<span class=activepage>&nbsp;"
        Response.Write counter
        Response.Write "&nbsp;</span>"
        markShowPage=1
    else
        Response.Write "&nbsp;<a onclick=exitoff() href=db_paging_array.asp?page="
        Response.Write counter
        Response.Write " class=listingLink>"
        Response.Write counter
        Response.Write "</a>"
    end if
Next
Response.Write "</b>"

Response.Write "&nbsp;&nbsp;"

Response.Write "<b>"

Response.Write "<a href=db_paging_array.asp?page="
If iPageCurrent = 1 Then
    Response.Write pageNum
else
    Response.Write iPageCurrent-1
end if
Response.Write " class=listingLink>Back</a>&nbsp;&nbsp;"
Response.Write "<a href=db_paging_array.asp?page="
If iPageCurrent = pageNum Then
    Response.Write "1"
else
    Response.Write iPageCurrent+1
end if
Response.Write " class=listingLink>Next</a>"

Response.Write "</b>"

%>
<p>

<table border="1">
<%
For I = 0 To LoopRecordCount
    Response.Write "<tr>" & vbCrLf
    For J = 0 To ifieldCount
        Response.Write vbTab & "<td>" & arrDBData(J, I) & "</td>" & vbCrLf
    Next ' J
    Response.Write "</tr>" & vbCrLf
Next ' I
%>
</table>


<style>

body {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}

td {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}

listingLink {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
color: blue;
text-decoration:none;
margin-left:0px;
margin-right:0px;
}

a.listingLink:hover {
color:#FF0000;
}

activepage {
color:#ffffee;
background-color: #000033;
font-weight: bold;
}
</style>



Reply By: vinyl-junkie Reply Date: 9/23/2003 7:15:19 AM
This is just a suggestion, but add the following code above line 51, like so:

Response.Write "iPageCurrent = " & iPageCurrent
Response.End

This will tell you the value of iPageCurrent, and might be a clue to the problem. Hope it helps.

Pat Wong
http://www.napathon.net/ - Music Around The World
For collecting tips, trade and want lists, album reviews and more.

Go to topic 4396

Return to index page 1040
Return to index page 1039
Return to index page 1038
Return to index page 1037
Return to index page 1036
Return to index page 1035
Return to index page 1034
Return to index page 1033
Return to index page 1032
Return to index page 1031