Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Pagina personale utente (parte 3)

Pagina personale per gestire i messaggi.
Pagina personale per gestire i messaggi.
Link copiato negli appunti

Abbiamo visto come si effettua l'estrazione dei messaggi personali dell'utente tramite la tecnica dell'impaginazione. Ora vedremo come preparare l'elenco dei messaggi riferiti alla pagina prescelta. Ricordo che i messaggi della pagina vengono selezionati grazie il comando LIMIT visto in precedenza.

Il codice necessario per mostrare i messaggi è il seguente:

082: Set conn = Server.CreateObject("ADODB.Connection")
083: Set comm = Server.CreateObject("ADODB.Command")
084: Set Rs = Server.CreateObject("ADODB.Recordset")
085:
086: conn.CommandTimeout = 40
087: conn.CursorLocation = 1
088: conn.ConnectionString = dbConnessione
089: conn.Open
090:
091: comm.ActiveConnection = conn
092: comm.CommandType = 1
093:
094: comm.CommandText = strSql
095:
096: Rs.Open comm,,1,1
097:
098: if not rs.eof then
099: do while not rs.eof
100: %>
101: <tr>
102: <td> </td>
103: <td nowrap><center><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%=rs("dt_invio")%></font></center></td>

104: <td nowrap><font size="2" face="Verdana,
Arial, Helvetica, sans-serif"><%=rs("login")%></font></td>
105: <td nowrap><font size="2" face="Verdana,
Arial, Helvetica, sans-serif"><a href="javascript:;"
onClick="ApriFinestra('leggi.asp?idMsg=<%=rs("id_msg")%>');PrimoPiano ();"><%=rs("titolo")%></a></font></td>
106: <td nowrap><center><input type="checkbox"
name="pvtElimina" value="<%=rs("id_msg")%>"></center></td>

107: <td> </td>
108: </tr>
109: <%
110: rs.movenext
111: loop
112: else
113: %>
114: <tr>
115: <td colspan="5"> </td>
116: </tr>
117: <tr>
118: <td colspan="5"> <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Nessun messaggio.</strong></font></div></td>
119: </tr>
120: <%
121: end if
122:
123: rs.close

Le righe dalla ottantadue alla ottantaquattro servono per creare le istanze dei tre oggetti necessari per interagire col database mySql. Nel rispettivo ordine sono:
Oggetto connection: Il compito di questo oggetto è quello di aprire la connessione col database desiderato

082: Set conn = Server.CreateObject("ADODB.Connection")

Oggetto command: Il compito di questo oggetto (nel nostro caso specifico) è quello di interrogare la nostra fonte dati per ricavare le informazioni da mostrare all'utente. Gli altri compiti consistono nella modifica della struttura del database o la modifica di dati già presenti al suo interno.

083: Set comm = Server.CreateObject("ADODB.Command")

Oggetto recorset: Il compito di quest'oggetto è quello di contenere i dati estratti dalla fonte dati interessata tramite l'istruzione S.q.l. elaborata e spiegata in precedenza.

084: Set Rs = Server.CreateObject("ADODB.Recordset")

Ora, dopo aver creato le istanze dei tre oggetti, dobbiamo impostarle per poterle sfruttare correttamente.

086: conn.CommandTimeout = 40
087: conn.CursorLocation = 1
088: conn.ConnectionString = dbConnessione
089: conn.Open

Ripropongo lo schema con il significato delle proprietà dell'oggetto connection appena impostato

N° Riga
Proprietà
Valore
Significato
86
CommandTimeout 40 Specifica il tempo di attesa massimo prima di dichiarare
fallito il tentativo di connessione.
87
CursorLocation 1 Specifica dove utilizzare il cursore.
88
ConnectionString dbConnessione Specifica la stringa di connessione necessaria per
connettersi al database. Specificata o nel file incluso oppure all'interno
del global.asa
89
Open / Apre la connessione al database utilizzando i valori
specificati in precedenza.

Dopo l'utilizzo dell'oggetto connection, viene utilizzato l'oggetto Command:

091: comm.ActiveConnection = conn
092: comm.CommandType = 1
093:
094: comm.CommandText = strSql

Il significato delle proprietà dell'oggetto command è il seguente:

N° Riga
Proprietà
Valore
Significato
91
ActiveConnection conn Specifica su quale connessione deve deve lavorare l'oggetto command istanziato.
92
CommandType 1 Specifica se il comando riguarda una tabella(2) oppure se è una stringa SQL (1)
94
CommandText Variabile generata in precedenza Indica la stringa SQL da eseguire.

Come ultimo oggetto impostato vi è l'oggetto RecordSet :

096: Rs.Open comm,,1,1

Il primo valore specificato nell'apertura del RecordSet è il comando da impartire al recordset. Il secondo parametro è vuoto in quanto rappresenta la connessione al database interessata. Se però guardate le proprietà dell'oggetto command alla riga novantuno osservate l'associazione con la connessione attiva. Il terzo ed il quarto parametro indicano il cursore di accesso al database ed il tipo di blocco associato.

Ti consigliamo anche