Risultati di una query su più pagine.

  • Creatore Discussione Creatore Discussione Frango
  • Data di inizio Data di inizio

Frango

Nuovo Utente
13 Feb 2007
6
0
0
Ciao a tutti,
ho un file asp che mi elenca tutti i risultati di una query fatta con le stored procedures. Non riesco a dividere i risultati su più pagine, ho già provato con i vari esempi ma mi dà errore su absolute.page. Devo forse agire sulla stored procedures invece che sulla pagina? Scusate, forse non mi sono spiegato bene perché non sono molto esperto ma vi posto sia file.asp che la stored procedure originali senza alcuna modifica:

File.asp

<!--#include virtual="/include/inc_functions.asp"-->
<%
Dim rsFiles
Dim cnFiles

Set cnFiles = Server.CreateObject("ADODB.Connection")
Set rsFiles = Server.CreateObject("ADODB.Recordset")

cnFiles.Open Application("Database")
rsFiles.Open "Get_Files", cnFiles, adOpenStatic, adLockReadOnly

If Not rsFiles.EOF Then

%>
<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=0 WIDTH=400 ALIGN=CENTER>
<TR>
<TD>Username</TD>
<TD>Tipo di file</TD>
<TD>Inserito</TD>
<TD>Visualizza File</TD>
</TR>
<%
Do While Not rsFiles.EOF
%>
<TR>
<TD ALIGN=LEFT><A HREF="edit_profile.asp?userid=<%=rsFiles("UserID")%>"><%=rsFiles("ScreenName")%></A></TD>

<TD><%=rsFiles("FileType")%></TD>

<TD><%=rsFiles("DateUpload")%></TD>

<TD><A HREF="../public/<%=rsFiles("FileID")%>.<%=rsFiles("FileType")%>" TARGET="_NEW"><img class="BorderPhoto" src="../public/<%=rsFiles("FileID")%>.<%=rsFiles("FileType")%>" width="59" height="65"></A></TD>
</TR>
<%

rsFiles.MoveNext

Loop
%>

</TABLE>

<%
Else
%>
Nessun files da visualizzare.
<%

End If

%><%
rsFiles.Close
Set rsFiles = Nothing
cnFiles.Close
Set cnFiles = Nothing
%>


La stored procedure invece è la seguente:

CREATE PROCEDURE Get_Files

AS

SELECT F.*, U.*, FT.FileType
FROM Files F
INNER JOIN FileTypes FT ON FT.FileTypeID = F.FileTypeID
INNER JOIN Users U ON U.UserID = F.UserID
ORDER BY F.DateUpload DESC

RETURN

Qualcuno sa come fare?:confused:
Grazie.
 
Ti da errore o semplicemente non pagina?

E... non pagina o non ti mostra i dati?

In ogni caso mi sa che il problema potrebbe essere sui cursori che usi:

rsFiles.Open "Get_Files", cnFiles, adOpenStatic, adLockReadOnly

Immagino che Get_Files sia la stored procedure, cnFiles la connessione, ma poi non unsare quei cursori, specifica semplicemente 1:

rsFiles.Open "Get_Files", cnFiles, 1

Comunque il codice che hai postato non contiene la paginazione, quindi aiutarti cosi non è semplice.
 
Ti chiedo scusa, in effetti ho postato sia il file.asp che la stored procedure così come sono senza paginazione perché io non so neanche da dove iniziare....e i tentativi che ho fatto, mi sono reso conto che erano completamente errati. Scusa.
 
Grazie, grazie mille.... è bastata qualche dritta del bravissimo Luca ed ho risolto il mio problema :beer: ...
A volte mi perdo in un bicchier d'acqua ..... grazie ancora.
Per il forum posto il files.asp con paginazione funzionante!!

<!--#include virtual="/include/inc_functions.asp"-->
<%
Dim rsFiles
Dim cnFiles
Dim quanti
Dim pag
Dim contatore

Set cnFiles = Server.CreateObject("ADODB.Connection")
Set rsFiles = Server.CreateObject("ADODB.Recordset")

cnFiles.Open Application("Database")
rsFiles.CursorLocation = adUseClient
rsFiles.Open "admin_GetFiles", cnFiles, adOpenStatic, adLockReadOnly

quanti = 5

pag = Request.QueryString("pag")
If IsNumeric(pag) = False Or pag < 1 Then pag = 1

contatore = 0

rsFiles.PageSize = quanti
rsFiles.AbsolutePage = pag

If Not rsFiles.EOF Then

%>
<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=0 WIDTH=400 ALIGN=CENTER>
<TR>
<TD>Username</TD>
<TD>Tipo di file</TD>
<TD>Inserito</TD>
<TD>Visualizza File</TD>
</TR>
<%

Do While rsFiles.EOF = False And contatore < quanti

%>
<TR>
<TD ALIGN=LEFT><A HREF="edit_profile.asp?userid=<%=rsFiles("UserID")%>"><%=rsFiles("ScreenName")%></A></TD>

<TD ALIGN=MIDDLE><%=rsFiles("FileType")%></TD>

<TD ALIGN=MIDDLE><%=rsFiles("DateUpload")%></TD>

<TD ALIGN=MIDDLE><A HREF="../public/<%=rsFiles("FileID")%>.<%=rsFiles("FileType")%>" TARGET="_NEW"><img class="BorderPhoto" src="../public/<%=rsFiles("FileID")%>.<%=rsFiles("FileType")%>" width="59" height="65"></A></TD>

</TR>

<%

rsFiles.MoveNext

contatore = contatore + 1

Loop
%>

</TABLE>
<p align="center">
<%If pag > 1 Then%>
<a href="files.asp?pag=<%=pag-1%>">Indietro</a>
<%End If%>
<%
Dim x
x = 1
For x = 1 To rsFiles.PageCount
If CInt(pag) <> x Then
%>
[<a href="files.asp?pag=<%=x%>"><%=x%></a>]
<%
Else
%>
[<a href="files.asp?pag=<%=x%>"><b><%=x%></b></a>]
<%
End If
Next
%>
<%If rsFiles.EOF = False Then%>
<a href="files.asp?pag=<%=pag+1%>">Avanti</a>
<%End If%>
</p>

<%
Else
%>
Nessun files da visualizzare.
<%

End If

%>
<%
rsFiles.Close
Set rsFiles = Nothing
cnFiles.Close
Set cnFiles = Nothing
%>
 

Discussioni simili