adUseClient and the command object
From: William Morris (news.remove.this.and.the.dots_at_seamlyne.com)
Date: 03/30/04
- Next message: William Morris: "Re: adUseClient and the command object"
- Previous message: kiloez: "RE: Sorting a recordset"
- Next in thread: William Morris: "Re: adUseClient and the command object"
- Reply: William Morris: "Re: adUseClient and the command object"
- Reply: William \(Bill\) Vaughn: "Re: adUseClient and the command object"
- Reply: Val Mazur: "Re: adUseClient and the command object"
- Messages sorted by: [ date ] [ thread ]
Date: Tue, 30 Mar 2004 10:38:43 -0600
I'm using a method for paging through results I got from 4GuysFromRolla.com,
so:
set rs = Server.CreateObject("ADODB.Recordset")
'Set the cursor location property
rs.CursorLocation = adUseClient
'Set the cache size = to the # of records/page
rs.CacheSize = NumPerPage
rs.open sSQL, conn
if rs.eof and rs.bof then
response.write " <P><div align=""center""><span style='padding: 10px;
border: 2px solid #ff0000;'>There are no vehicles in our inventory that
match the criteria you entered.</span></div>"
else
rs.moveFirst
m_totalRows = rs.recordcount
rs.pageSize = NumPerPage
m_TotalPages = rs.PageCount
rs.AbsolutePage = m_currentPage
outputArray = rs.GetRows
It works very well as long as the query doesn't take so long that it times
out, which it sometimes does. I tried using the command object along with
the code above so I could specify a CommandTimeout, as in:
set cmd = server.createobject("adodb.command")
cmd.activeconnection = conn
cmd.CommandText = sSQL
cmd.commandTimeout = 120
set rsResults = Server.CreateObject("ADODB.Recordset")
'Set the cursor location property
rsResults.CursorLocation = adUseClient
'Set the cache size = to the # of records/page
rsResults.CacheSize = NumPerPage
set rsResults = cmd.execute
rsResults.moveFirst
m_totalRows = rsResults.recordCount
rsResults.pageSize = NumPerPage
m_totalPages = rsResults.pageCount
m_currentPage = GetCurrentPageNumber
rsResults.AbsolutePage = m_currentPage
dim outputArray, tmpRowCounter
tmpRowCounter = 1
outputArray = rsResults.getRows
...but I get the following error: " Arguments are of the wrong type, are out
of acceptable range, or are in conflict with one another. " on this line:
rsResults.AbsolutePage = m_currentPage
Is there a way to get where I want to go, which is to say, run a long query
without timing out?
-- William Morris Semster, Seamlyne reProductions Visit our website, http://www.seamlyne.com, for the most comfortable historically inspired clothing you can buy!
- Next message: William Morris: "Re: adUseClient and the command object"
- Previous message: kiloez: "RE: Sorting a recordset"
- Next in thread: William Morris: "Re: adUseClient and the command object"
- Reply: William Morris: "Re: adUseClient and the command object"
- Reply: William \(Bill\) Vaughn: "Re: adUseClient and the command object"
- Reply: Val Mazur: "Re: adUseClient and the command object"
- Messages sorted by: [ date ] [ thread ]