Groups | Blog | Home
all groups > inetserver asp general > june 2007 >

inetserver asp general : Recordset Paging - Not Showing records on next page


Infused
6/26/2007 1:42:36 AM
When I use the next button no records show up on the next page...
I've been going over this for half a day and can't figure it out.
Any
help would be greatly appreciated!

<%@ Language=VBScript%>
<%Option Explicit%>
<%Response.Expires=0%>
<!--#include file = "adovbs.inc"-->
<%
Const intPageSize = 10
Dim intCurrentPage, intTotalPages, intI
Dim sClass
Dim rs, sCN, sSql, sDbFilePath
Dim dLNG, dLAT, sZip
Dim bViewList: bViewList = false


Set rs = Server.CreateObject("ADODB.Recordset")
rs.CursorLocation = 3
rs.CursorType = 3
rs.CacheSize = intPageSize
sDbFilePath = Server.MapPath("zip.mdb")
sCN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sDbFilePath &
";Persist Security Info=False"


If len(trim(Request.Form("zip"))) = 5 and
isnumeric(Request.Form("zip")) Then
sZip = Request.Form("zip")
SetCoordinates sZip
Set rs = Getmains(Request.Form("distance"), dLNG, dLAT)
bViewList = (not rs.EOF)
End If


'===================================================================
Function Getmains(dRadius, dLNG, dLAT)


Dim rsTemp, sSql
Set rsTemp = Server.CreateObject("ADODB.Recordset")


' **SQL Server vesion - use ACOS()**
' sSql = "SELECT name, phone, addr1, city, state, zip " & _
' "FROM main " & _
' "WHERE zip in ( SELECT ZIP_CODE FROM zip "& _
' "WHERE @radius > 3959 * ACOS(SIN(@lat/
57.3) *
SIN(LAT/ 57.3) + " & _
' "COS(@lat/
57.3) *
COS(LAT/ 57.3) * " & _
' "COS((LNG/
57.3) -
(@lng/ 57.3))) ) " & _
' "ORDER BY name"


' **Access vesion**
sSql = "SELECT id, name, phone, addr1, city, state, zip " & _
"FROM main " & _
"WHERE zip in ( SELECT ZIP_CODE FROM zip "& _
"WHERE @radius > 3959 * ATN( SQR(1 -
(SIN(@lat/
57.3) * SIN(LAT/ 57.3) + " & _

"COS(@lat/
57.3) * COS(LAT/ 57.3) * " & _

"COS((LNG/
57.3) - (@lng/ 57.3))) ^2 ) /" & _

"(SIN(@lat/ 57.3) * SIN(LAT/ 57.3) + "
& _

"COS(@lat/
57.3) * COS(LAT/ 57.3) * " & _

"COS((LNG/
57.3) - (@lng/ 57.3))) ) ) " & _
"ORDER BY name"


sSql = Replace(sSql, "@radius",dRadius)
sSql = Replace(sSql, "@lng",dLNG)
sSql = Replace(sSql, "@lat",dLAT)
rsTemp.Open sSql, sCN, 3, 3
Set Getmains = rsTemp


End Function
'===================================================================
Sub SetCoordinates(sZip)


Dim rsTemp, sSql
Set rsTemp = Server.CreateObject("ADODB.Recordset")


sSql = "SELECT LAT, LNG FROM zip WHERE ZIP_CODE = ':1'"
sSql = Replace(sSql, ":1",sZip)
rsTemp.Open sSql, sCN
If not rsTemp.EOF Then
dLAT = rsTemp("LAT")
dLNG = rsTemp("LNG")
End If
Set rsTemp = Nothing


End Sub
'===================================================================
'Function CreateMapQuestURL(street, city, state, zip)
'
' Dim sStreet, sCity
'
' sStreet = Replace(Trim(street), " ", "+")
' sCity = Replace(Trim(city), " ", "+")
'
' CreateMapQuestURL = "http://www.mapquest.com/maps/map.adp?" &
_
' "country=US&" & _
' "address=" & sStreet & "&" & _
' "city=" & sCity & "&" & _
' "state=" & state & "&" & _
' "zipcode=" & zip
'End Function


'==================================================================
'Function CreateMapBlastURL(name, street, city, state, zip)
'
' Dim sStreet, sCity, sName
'
' sStreet = Replace(Trim(street), " ", "+")
' sCity = Replace(Trim(city), " ", "+")
' sName = Replace(Trim(name), " ", "+")
'
' CreateMapBlastURL = "http://www.mapblast.com/mblast/map.mb?" &
_
' "IC=" & sName & "&" & _
' "AD2=" & sStreet & "&" & _
' "AD3=" & sCity & "&" & _
' "AD3=" & state & "&" & _
' "AD3=" & zip & "&" & _
' "CMD=GEO"
'End Function
'===================================================================
%>


<%
Response.Write("Server Variables: ")
Response.Write(Request.ServerVariables("ALL_RAW"))


If Request.ServerVariables("CONTENT_LENGTH") = 0 then
intCurrentPage = 1
Else
intCurrentPage = CInt(Request.Form("CurrentPage"))
Select Case Request.Form("Submit")
Case "Previous"
intCurrentPage = intCurrentPage - 1
Case "Next"
intCurrentPage = intCurrentPage + 1
End Select
End If
%>


<HTML>
<HEAD>
</HEAD>
<body>


<h2>
<img border="0" src="images/iemortgageguide_logo.gif" width="626"
height="97"></h2>
<h2>Search by Zipcode</h2>


<STYLE>
.shade {BACKGROUND: #ededed}
</STYLE>


<form method=post>
<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=1>
<TR>
<TD>ZIP</TD>
<TD>Distance</TD>
<TD rowspan=2 valign=bottom><INPUT type="submit"
value="Go"
name=submit1></TD>
</TR>
<TR>
<TD><INPUT type="text" name=zip size=5 maxlength=5
value="<%=sZip
%>">
</TD>


<TD><SELECT name=distance>
<OPTION value=1>1</OPTION>
<OPTION value=5>5</OPTION>
<OPTION value=10>10</OPTION>
<OPTION value=20>20</OPTION>
<OPTION value=50>50</OPTION>
</SELECT></TD>


</TR>


</TABLE>
</form>


&nbsp;<%If bViewList Then%>


<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=1>
<TR>
<TD><b>NAME</b></TD>
<TD><b>PHONE</b></TD>
<TD><b>ADDRESS</b></TD>
<TD><b>CITY</b></TD>
<TD><b>STATE</b></TD>
<TD><b>ZIP</b></TD>
</TR>


<%
rs.PageSize = intPageSize
'Response.Write(intPageSize)


If Not(rs.EOF) Then
intCurrentPage = rs.AbsolutePage


'Response.Write("AbsolutePage = ")
'Response.Write(rs.AbsolutePage)


intTotalPages = rs.PageCount
%>
<%
If sClass <> "shade" Then
sClass = "shade"
Else
sClass = ""
End If
%>
<% For intI = 1 to rs.PageSize %>
<TR class="<%=sClass%>">
Infused
6/26/2007 4:17:02 AM
On Jun 26, 2:03 am, "Bob Barrows [MVP]" <reb01...@NOyahoo.SPAMcom>
[quoted text, click to view]

Sorry I was unaware of the cross posting technique... I will be sure
to use it in the future. I'm fairly diligent updating posts with a
resolution if I have gotten one as well to wherever I have posted. So
if I get a resolution to this I will definitely post it to the other
group or vice versa. Once again I apologize for double posting.
Bob Barrows [MVP]
6/26/2007 5:03:16 AM
[quoted text, click to view]

Please do not multipost. This is definitely a database-related
question so .asp.db was the perfect group in which to post it. Posting it
here as well did not increase your chances of getting an answer (most of us
subscribe to both groups). On the contrary, if somebody had taken his time
to answer it here, only to find that it was already resolved in the other
group, that person may have been annoyed enough to ignore any future posts
from you, thereby decreasing your chances of getting help in the future.

There are times when you will not be sure which group is most appropriate
(again, this was not one of them), and you will want to post a question to
both groups. In that situation, you should use the cross-posting technique,
rather than posting the same message multiple times. To crosspost, put
a semicolon-delimited* list of the newsgroups to which you wish to post in
the To: header of your post and post it once. It, and any replies to it,
will appear in all the newsgroups in your list. So, if I reply in .asp.db,
my reply will also appear here in .asp.general.

* ... or whatever delimiter is recognized by your news client

--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"

Infused
6/27/2007 9:41:17 AM
[quoted text, click to view]

Absolutely right thanks Dan I added the hidden fields in the form and
now I'm getting the intial recordset in next page. Thanks!

[quoted text, click to view]

I kept getting the error

ADODB.Recordset error '800a0cb3'
Current Recordset does not support bookmarks. This may be a limitation
of the provider or of the selected cursortype.

when I had the abolsultepage = intcurrentpage the right way around

and thought I had the cursortype set the right way but when I checked
it was coming up with cursortype = 0

I've got everything fixed and it's working perfect now thank you so
very much for your help I really appreciate it!!!

Jon
AddThis Social Bookmark Button