15 messaggi dal 29 novembre 2005
Tralasciando er un attimo quello che sto scrivendo io, ti posto oò codice tratto dal .ibro dove ho imparato un po' di ASP.
La mia domanda è : perchè TotalRecords = rs.RecordCount da come risultat -1?
Ciao
Ernesto

dim conn, strConn

strConn = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " &_ Server.MapPath("rubrica.mdb")

Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open StrConn

'PAGINAZIONE----------------------------------------------------

Dim page, strRicerca, SQL, RecordsPerPagina, TotalRecords

RecordsPerPagina = 10

page = Request("page")
if page="" then page=1

strRicerca = Request("ricerca")

SQL = "SELECT * FROM Rubrica WHERE Nome LIKE '%" & strRicerca & "%'"
Set rs = Server.CreateObject("ADODB.Recordset")

rs.Open SQL, conn, 1, 3

' paginazione
rs.PageSize = RecordsPerPagina
rs.AbsolutePage = page

' record attivi
TotalRecords = rs.RecordCount

If TotalRecords=0 then
Response.Write "<P>Nessun risultato trovato</P>"
Else

Response.Write "<P>" & TotalRecords & " risultati trovati</P>"
For i=1 to RecordsPerPagina

if Not rs.EOF then
Response.Write "<li>" & rs("nome") & " - " & rs("telefono") rs.MoveNext
end if

Next

End if

%>

<hr>

<%

If TotalRecords > 0 then

Response.Write "<P><B>Pagine:</B> "

For p=1 to rs.PageCount

If p <> CInt(Page) then
Response.Write "<A href='ricerca.asp?page=" & p
Response.Write "&" & Server.UrlEncode(strRicerca)
Response.write "'>"
Else
' pagina attuale
Response.Write "<B>"
End if

Response.Write p

If p <> CInt(Page) then
Response.Write "</A> "
Else
Response.Write "</B> "
End if
Next
Response.Write "</P>"
End if
%>
<hr>
<%
' liberiamo le risorse
Rs.Close
Set Rs = Nothing
conn.Close
set conn = Nothing
%>

-------------------------------------------------------------------------------------------

"m4rc0" <m4rc0> ha scritto nel messaggio news:257194@...
seoman ha scritto:

Il problema è sul tipo di recordset che utilizzi... probabilmente ne usi forwardonly che non supporta la proprietà recordcount.

Giusto, probabilmente fai una
set rs = conn.execute(sql)

bisogna utilizzare rs.open con i parametri adatti

poi impostare
rs.PageSize = 5

rs.AbsolutePage = x

la pagina a cui sei arrivato
cicli per 5 records stando attendo a non imbatterti in EOF

ecc...


Marco Pipino
http://www.geocities.com/marcopipino

Corso ASP.NET 2.0 online o su CDRom, da 42,00 Euro. Acquistalo subito! http://g.aspitalia.com/gc.aspx?ID=380

Hosted by http://www.ithost.ch - your host company



"m4rc0" <m4rc0> ha scritto nel messaggio news:257194@...
seoman ha scritto:

Il problema è sul tipo di recordset che utilizzi... probabilmente ne usi forwardonly che non supporta la proprietà recordcount.

Giusto, probabilmente fai una
set rs = conn.execute(sql)

bisogna utilizzare rs.open con i parametri adatti

poi impostare
rs.PageSize = 5

rs.AbsolutePage = x

la pagina a cui sei arrivato
cicli per 5 records stando attendo a non imbatterti in EOF

ecc...


Marco Pipino
http://www.geocities.com/marcopipino

Corso ASP.NET 2.0 online o su CDRom, da 42,00 Euro. Acquistalo subito! http://g.aspitalia.com/gc.aspx?ID=380

Hosted by http://www.ithost.ch - your host company

593 messaggi dal 09 ottobre 2002
www.dotnetside.org
Come puoi pretendere che funzioni se non imposti il tipo di cursore con la proprietà .CurtsorType e la dimensione della pagina mediante la proprietà .PageSize PRIMA dell'apertura del recordset???

Non per nulla ti avevo detto di studiarti attentamente il post che ti ho segnalato in cui spiegavo ed esemplificavo l'uso della paginazione.

Comunque, correggi:
SQL = "SELECT * FROM Rubrica WHERE Nome LIKE '%" & strRicerca & "%'" 
Set rs = Server.CreateObject("ADODB.Recordset")
 
rs.Open SQL, conn, 1, 3
 
' paginazione
rs.PageSize = RecordsPerPagina
rs.AbsolutePage = page


Con:

SQL = "SELECT * FROM Rubrica WHERE Nome LIKE '%" & strRicerca & "%'" 
Set rs = Server.CreateObject("ADODB.Recordset")
rs.CursorType = adOpenStatic
rs.PageSize = RecordsPerPagina

rs.Open SQL, conn

' paginazione
rs.AbsolutePage = page


Ciao

[b[P.S.:[/b] Anche se non hai le credenziali di accesso (utili per altro solo per inserire topic e/o risposte), il forum di aruba è comunque consultabile al pubblico anonimo.

Pochi post. Anzi, quasi quasi spengo
http://www.dotnetside.org/
15 messaggi dal 29 novembre 2005
Grazie

"vitosulla" <vitosulla> ha scritto nel messaggio news:257242@...
Come puoi pretendere che funzioni se non imposti il tipo di cursore con la proprietà .CurtsorType e la dimensione della pagina mediante la proprietà
.PageSize PRIMA dell'apertura del recordset???

Non per nulla ti avevo detto di studiarti attentamente il post che ti ho segnalato in cui spiegavo ed esemplificavo l'uso della paginazione.
Comunque, correggi:

SQL = "SELECT * FROM Rubrica WHERE Nome LIKE '%" & strRicerca & "%'" Set rs = Server.CreateObject("ADODB.Recordset")

rs.Open SQL, conn, 1, 3

' paginazione
rs.PageSize = RecordsPerPagina
rs.AbsolutePage = page


Con:


SQL = "SELECT * FROM Rubrica WHERE Nome LIKE '%" & strRicerca & "%'" Set rs = Server.CreateObject("ADODB.Recordset")
rs.CursorType = adOpenStatic
rs.PageSize = RecordsPerPagina

rs.Open SQL, conn

' paginazione
rs.AbsolutePage = page

Ciao

[b[P.S.:[/b] Anche se non hai le credenziali di accesso (utili per altro solo per inserire topic e/o risposte), il forum di aruba è comunque consultabile al pubblico anonimo.


Pochi post. Anzi, quasi quasi spengo

Corso ASP.NET 2.0 online o su CDRom, da 42,00 Euro. Acquistalo subito! http://g.aspitalia.com/gc.aspx?ID=380

Hosted by http://www.ithost.ch - your host company

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.