ADO - L'oggetto Recordset | |
![]() |
|
| |
|
ASP Center
Articoli
Referenze
Script
FAQ
Downloads
Siti utili
ASP
E-Commerce con ASP
Menu Javascript
Area Aziende
Cocktail
Registrazione domini
|
ADO - L'oggetto Recordset
L'oggetto Recordset gestisce i dati di un database in funzione della connessione specificata. Al suo interno è possibile specificare stringhe SQL (sia DDL che DML), oppure specificare la tabella con cui si intende interagire, sia in fase di lettura che scrittura dei dati.
La sua dichiarazione avviene attraverso la classe ADODB.Recordset e si comporta come un normale ActiveX che va settato, aperto, chiuso e distrutto. Facciamo un esempio pratico. Nell'articolo relativo all'oggetto Connection abbiamo creato una cartella contenente un database di prova ed abbiamo creato un file ASP che si connette al database. Creiamo adesso, all'interno di C:\Inetpub\wwwroot\databaseil file leggi.asp che utilizzerà l'oggetto Recordset per leggere i dati dalla tabella utenti cre creeremo sulla tabella di prova, che avrà i soli campi id (di tipo Contatore) e nominativo (di tipo Testo). Inserite qualche dato di prova all'interno della tabella. Vediamo adesso il codice ASP necessario ad accedere alla tabella per la stampa a video dei dati:
<%@LANGUAGE = VBScript%>
<%
Dim sc, cn, rs
sc = "driver={Microsoft Access Driver (*.mdb)};dbq="
sc = sc & Server.MapPath("database.mdb")
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
cn.Open sc
rs.Open "SELECT * FROM utenti", cn, 1
While rs.EOF = False
Response.Write rs("id") & " - " & rs("nominativo") & "<br>"
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
%>
Il funzionamento è semplice: una volta espletate le operazioni di apertura della connessione al database apro il Recordset lanciando al suo interno una semplicissima query sulla tabella; associo al Recordset la connessione in uso e specifico 1, ovvero il cursore in lettura.I cursori che si utilizzano in scrittura sono 3, 3. A questo punto effettuo un ciclo la cui condizione è stabilita attraverso la proprietà EOF (acronimo di End Of File); fino a quando il valore di EOF è True stamperà i dati a video; quando diventerà False vuol dire che non ci sono più dati e la lettura, naturalmente, si fermerà. Utilizzo poi il metodo MoveNext per spostare il puntatore di lettura dei dati del Recordset di nuovo all'inizio del ciclo, altrimenti lo script andrà in loop e produrrà, implicitamente, un errore. La scrittura dei dati funziona come segue:
rs.Open "utenti", cn, 3, 3
rs.AddNew
rs("nominativo") = "Luca Ruggiero"
rs.Update
rs.Close
Nell'esempio di codice appena presentato ho omesso le fasi di apertura della connessione e distruzioni varie, ma naturalmente vanno integrati.Esaminiamo dunque il funzionamento del Recordset in scrittura. Apro la tabella che mi interessa specificando la connessione ed i cursori in scrittura; utilizzo il metodo AddNew per indicare che si tratta di un inserimento dati; associo al Recordset il nome del campo a cui voglio accedere in scrittura e gli assegno il valore da memorizzare; utilizzo il metodo Update per confermare la registrazione del nuovo dato in un nuovo record. Credo sia inutile specificarlo... i metodi Open e Close servono, rispettivamente, ad aprire ed a chiudere il Recordset. L'oggetto Recordset dispone di molti altri metodi e di diverse proprietà ma in questo articolo non saranno prese in considerazione; in altri articoli, in fase di spiegazione di esempi pratici, li prenderemo in considerazione e li spiegheremo. |
Newsletter
Stringhe di Conn.
|
||
| © 2008 ASP Center di Luca Ruggiero - P. IVA 05564851219 - Disclaimer | Privacy | Pubblicità | Supportaci | Staff | Contatti | ||||
| Appunti PHP | Giornale Webmaster | Mr.Webmaster | Download | DevSpy.com | ASPCode.it | ClaudioGarau.it | Webmaster Facile | Come Faccio | CodiceFacile.it | I Programmatori | By Luciani | VoiceXML Italian User Group | Giochi | Extro Web Site | Morpheus Web | AG Web Solutions | Net-Free | PC Sicuro | PC Self | Tutorial Web | Dablones | ||||