codice:
<%
' Estrazione della pagina
page = Request("page")
IF page = "" THEN page = 1
if not IsNumeric(page) then
page = 1
else
page = CInt(page)
if page < 1 then page = 1
end if
' Apertura recordset , se la quantità scende sotto 5 in giacenza il prodotto non è visibile
Set prodRS = Server.CreateObject( "ADODB.Recordset" )
prodRS.ActiveConnection = Con
prodRS.CursorType = adOpenStatic
sqlString = "SELECT product_id, product_picture, product_name, product_sconto, product_briefDescITA, product_price " &_
"FROM Products WHERE product_categoryITA='" & cat & "' " &_
"AND product_status = 1 " &_
"AND product_giacenza > 5 " &_
"ORDER BY product_name " &_
"LIMIT " & ((page-1)*8) & ", 8;"
prodRS.Open sqlString
SQLCount = "Select Count(*) as totale FROM Products WHERE product_categoryITA='" & cat & "'"
set rsCount = Con.Execute(SQLCount)
'valorizzo il numero dei record totali
totale = rsCount("totale")
rsCount.Close
set rsCount = Nothing
'valorizzo il numero delle pagine totali
numpagine = totale / 8
' correzione di eventuali imprecisioni sul valore numpagine
if numpagine <> Int(numpagine) then
numpagine = Int(numpagine) + 1
end if
%>
<table width="100%" border=0 cellpadding=1 cellspacing=0>
<tr>
<td align="center" colspan="2">
<font color="blue" face="verdana" size="1">
Pagine:
<%
FOR i = 1 to numpagine
%>
<a href="default.asp?cat=<%=cat%> & page=<%=i%>">
<%=i%>
</a>
<%
NEXT
%>
</font>
</td>
</tr>
<tr>
<td>
a parte che l'ottimizzerei un po non trovo niente che possa far pensare ad un errore come quello che hai descritto tu... 
ma per curiosità...
perche non stampi a video i risultati ? a che ti serve chiamarli se non li visualizzi da nessuna parte