Aiuto con asp e database!Sto impazzendo!!

CiAo! Cursori hai detto....hm...do un occhiata subito!! Poi ti faccio sapere.....! Grazie :byebye:
 
Niente....mi sto scoraggiando...:dipser: Come devessere scritto all interno del mio documeto precedentemente postato?:(
ciao:rolleyes:
 
Niente....mi sto scoraggiando...:dipser:
Questo mai alex! :)

Secondo me la cosa meglio che puoi fare è iniziare con una cosetta semplice per capire la paginazione ;)

Crea un database con una tabella di nome 'prova', avente un solo campo di nome 'cognome', ed inseriscici dei cognomi a caso.

Dopo di che, senza moduli o altro, crea una paginetta ASP "semplice" che estragga tutti i cognomi, paginandoli 5 per volta.

Buon lavoro :byebye:
 
Anche se mi scoraggio nn rinuncio!:ilpirata:
Provo il tuo consiglio quando ho un attimino....poi ti faccio sapere!
Grazie:mexican:

:byebye: :byebye:
 
Buongiorno!
Allora diciamo che ho provato e ci sono quasi riuscito ma ho 2 problemini...ho mischiato un po di codice mio e un po di un esempio postato nei tutorial del sito...i problemi sono due:

Il Primo è QUESTO:
ADODB.Recordset error '800a0cb3'

Current Recordset does not support bookmarks. This may be a limitation of the provider or of the selected cursortype.

/it/prova.asp, line 39

Dove la linea 39 è --->>> rs.AbsolutePage = pag

togliendolo funziona però nonostante tutto funzioni alla perfezione mi da infinite pagine con sempre gli stessi risultati....:hammer:


Questo è il codice della pagina prova.asp che uso....

<%@LANGUAGE = VBScript%>
<!--#include file="connessione.asp"-->
<%
' DEFINISCO LE VARIABILI CHE MI SERVONO PER L'APPLICAZIONE
Dim cn, rs, quanti, pag, contatore


' Creo un'istanza per la connessione ed una per il Recordset
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")

' APRO LA CONNESSIONE COL DATABASE
cn.Open str_cn

' DEFINISCO IL NUMERO DI RECORD DA VISUALIZZARE PER OGNI PAGINA
quanti = 2

' RECUPERO IL NUMERO DI PAGINA CORRENTE
' E CONTROLLO CHE NON SIA INFERIORE A 1
pag = Request.QueryString("pag")
If IsNumeric(pag) = False Or pag < 1 Then pag = 1

' IMPOSTO UN CONTATORE
contatore = 0
%>
<html>
<head>
<title>Paginazione dei risultati di query molto lunghe in ASP</title>
<style>a { color: blue; }</style>
</head>
<body>

<table align="center" width="300" border="1">
<%
Dim SQL ' Creo la query SQL
SQL = "SELECT * FROM tabella WHERE nome = 'mario' ORDER BY 'nome' ASC"
' EFFETTUO MATERIALMENTE LA PAGINAZIONE
rs.Open sql, cn
rs.AbsolutePage = pag
rs.PageSize = quanti

' ESEGUO IL CICLO
While rs.EOF = False And contatore < quanti
%>
<tr><td><%=rs("nome")%></td></tr>
<%
rs.MoveNext
' INCREMENTO IL VALORE DEL CONTATORE
contatore = contatore + 1
Wend
%>
</table>


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

</body>
</html>
<%
' UN PO DI PULIZIA...
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
%>


Cosa non funziona????:confused: :confused: :confused:
:confused:

Dai che sono ad un passo dalla rimonta!:incazz:

:rolleyes: lo so...grazie a te....

:byebye: :byebye: un salutone. Alex
 
Dovrebbe essere proprio un errore riguardante i cursori ma come devo infilarli?


---allora ho provato un po e ora infilando il cursore 3 funziona ma mi da un errorino ovvero è come se poi nn leggesse piu dopo aver scritto il primo dato ma mi crea cmq tutti i numeri di pagina per visualizzare gli altri risultati che pero nn appaiono.....idemo per il tasto avanti che nelle altre pagine non viene piu visualizzato.... questo è la prova che ho fatto....dove sbaglio???

<%@LANGUAGE = VBScript%>
<!--#include file="connessione.asp"-->
<%
' DEFINISCO LE VARIABILI CHE MI SERVONO PER L'APPLICAZIONE
Dim cn, rs, quanti, pag, contatore


' Creo un'istanza per la connessione ed una per il Recordset
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")

' APRO LA CONNESSIONE COL DATABASE
cn.Open str_cn

' DEFINISCO IL NUMERO DI RECORD DA VISUALIZZARE PER OGNI PAGINA
quanti = 1

' RECUPERO IL NUMERO DI PAGINA CORRENTE
' E CONTROLLO CHE NON SIA INFERIORE A 1
pag = Request.QueryString("pag")
If IsNumeric(pag) = False Or pag < 1 Then pag = 1

' IMPOSTO UN CONTATORE
contatore = 0
%>
<html>
<head>
<title>Paginazione dei risultati di query molto lunghe in ASP</title>
<style>a { color: blue; }</style>
</head>
<body>

<table align="center" width="300" border="1">
<%
Dim SQL ' Creo la query SQL
SQL = "SELECT * FROM dati"
' EFFETTUO MATERIALMENTE LA PAGINAZIONE
rs.Open sql, cn, 3
rs.AbsolutePage = pag
rs.PageSize = quanti

' ESEGUO IL CICLO
While rs.EOF = False And contatore < quanti
%>
<tr><td><%=rs("nome")%></td></tr>
<%
rs.MoveNext
' INCREMENTO IL VALORE DEL CONTATORE
contatore = contatore + 1
Wend
%>
</table>


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

</body>
</html>
<%
' UN PO DI PULIZIA...
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
%>
 
Ultima modifica:
...vedo lo script lo hai preso da MRW, giusto?
Esatto, quello della paginazione l'ho infilato quasi paro paro...
Fa così, cambia ancora il cursore, aggiungi la parte in blu:
rs.Open sql,cn,3,3

Ci avevo già pensato e per scrupolo l'ho appena fatto...ma niente...non va...è come se lo facesse...ovvero crea molte pagine (1-2-3-4-5..) ma solo la prima contiene il dato le altre le fa vedere vuote...e se ad esempio aumento i dati (records)da visualizzare per pagina la prima è sempre compilata bene le altre sempre vuote...Io nn riesco a capire...sono sicuro che il broblema è nei cursori ma purtroppo conoscendoli da poco tempo davvero non so come muovermi! Dove sarà l'errore?! :crying: Sicuramente è un errore da niente ma proprio per questo forse difficile per me da trovare!!

Un saluto :beer:
 
:crying: non so come dirtelo...:incazz: non funge neanche cosi sto bastardaccio!:incazz2:
Sto perdendo le speranze....eppure penso che funzioni a molti questo script...:eek: Tranne a me!

Ti ringrazio per l'ennesima volta per il grande supporto che mi stai dando compreso quello morale perche ora sbatterei volentieri la capoccia al muro :D

Cmq ritornando al problema ho infilato la parte di codice che mi hai detto ma non è cambiato nulla...sempre lo stesso problema....


Possibile?:eek:

Un saluto

Alex:ilpirata:
 
Non saprei allora, anche perchè non ho tempo di provare il tuo script ed analizzarlo per bene :)

Fai così, azzera tutto, riscrivi il codice tutto da capo, copiandolo pari pari dall'esempio del tutorial, senza cambiarlo di una virgola!
Se non funziona vuol dire che c'è qualche problema che non riguarda il codice ;)

:byebye:
 
We ciao...
senti questa alternativa sembra funzionare per il momento...
tu che ne pensi? è un alternativa valida?

<%@LANGUAGE = VBScript%>
<!--#include file="connessione.asp"-->
<%
' DEFINISCO LE VARIABILI CHE MI SERVONO PER L'APPLICAZIONE
Dim cn, rs, quanti, pag, contatore

' Creo un'istanza per la connessione ed una per il Recordset
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")

' APRO LA CONNESSIONE COL DATABASE
cn.Open str_cn

' DEFINISCO IL NUMERO DI RECORD DA VISUALIZZARE PER OGNI PAGINA
RecordsXPagina = 6

' RECUPERO IL NUMERO DI PAGINA CORRENTE
' E CONTROLLO CHE NON SIA INFERIORE A 1

If Request.QueryString("pagina") = "" Then
pagina = 1
Else
pagina = CInt(Request.QueryString("pagina"))
End If

' IMPOSTO UN CONTATORE
contatore = 0
%>
<html>
<head>
<title>Paginazione dei risultati di query molto lunghe in ASP</title>
<style>a { color: blue; }</style>
</head>
<body>

<table align="center" width="300" border="1">
<%
Dim SQL ' Creo la query SQL
SQL = "SELECT * FROM dati"
' EFFETTUO MATERIALMENTE LA PAGINAZIONE
rs.Open sql, cn, 3,3

if not RS.eof then

RS.PageSize = RecordsXPagina
RS.AbsolutePage = pagina

For i = 1 to RecordsXPagina
if not RS.eof then
%>
<tr><td><%=rs("nome")%> </td></tr>
<%

RS.movenext
' INCREMENTO IL VALORE DEL CONTATORE
contatore = contatore + 1
end if
next


Response.Write "<b><br>Numero Pagine:</b> "
For pagina = 1 to RS.PageCount
Response.Write "<A href='"&istring&"?pagina=" & pagina
Response.write "'>"
Response.write "<font size=1 color=#000080>"
Response.Write pagina
Response.Write "</A> "
Next
Response.Write ">><br><br></td></tr>"

rs.Close
Set rs = Nothing
Cn.Close
Set Cn = Nothing
end if

%>
</table>
 

Discussioni simili