:: byluciani.com ::  
[ ASP ]
[ Guestbook ]
[ Forum ]
 [ Homepage ]
 [ Preferiti ]
 [ Ricerca ASP ]
Home»ASP
 

Germania 2006
 
CAMPIONI DEL MONDO
1(5)ITA:FRA1(3)
 


Calendario
Auguri ai nati sotto il segno
della Vergine
Lunedì 6 Settembre 2010
Oggi ricorre:
S. Petronio vescovo
 

Statistiche
Oggi il numero delle visite è
29
Ieri il numero delle visite è stato
54
Il numero totale delle visite è
255835
Ultimo accesso
06/09/2010 08:35:18
 

Link utili
www.aruba.it
www.aspcode.it
www.webmasterpoint.org
www.lukeonweb.net
www.acerbi.re.it
www.moduli.it
www.dotnetside.org
www.aspcenter.net
www.morpheusweb.it
www.trenoincasa.it
 

Contatti
Webmaster
Forum
Collabora
 

Credits
 

RSS di byluciani
Teoria
Articoli
Tips&Tricks
Download
 

Uplink
 

 
Collabora con byluciani.com

Hai del codice ASP che vorresti condividere, vorresti veder pubblicato qualche tuo articolo o tutorial sull'ASP?
Bene! byluciani.com sarà ben lieto di ospitare il tuo lavoro. Manda il tuo materiale a COLLABORA indicando le tue generalità (Nome, Cognome, E-Mail, sito Web, Città, data di nascita e se vuoi una foto).
Il tutto è "no profit", condividi le tue conoscenze per far crescere i giovani programmatori del Web.


Elenco collaboratori di byluciani.com


Donazioni

Hai trovato utili i contenuti di byluciani.com? Senti il piacere di contraccambiare in qualche maniera?
Puoi farlo facendo una donazione attraverso la wishlist raggiungibile al seguente indirizzo:

byluciani.com - WISHLIST


Risorse ASP/VBScript
 
Teoria
 
« Precedente Seguente »
Database
Autore: Luciani Massimiliano Letto: 37610 volte Giudizio:
 
 

Un database è un insieme di dati strutturati in cui è possibile effettuare ricerche e modifiche.
Le operazioni fondamentali che si possono eseguire su un database sono: inserimento, ricerca, aggiornamento e cancellazione.
I dati memorizzati nei database vengono raccolti in tabelle.
Le tabelle vanno immaginate come delle matrici bidimensionali (righe e colonne). L'incrocio tra una riga ed una colonna rappresenta un dato del database. Le righe sono chiamate record, le colonne campi.
I database possono essere composti da più tabelle.
Come si possono gestire i database con ASP?
Si utilizza ADO (ActiveX Data Objects):
ADO consente di scrivere un'applicazione per la gestione e l'accesso ai dati contenuti in un server di database tramite un provider OLE DB. Poiché tuttavia ciascun provider dispone di caratteristiche uniche, le modalità di interazione tra l'applicazione e ADO variano leggermente a seconda del provider stesso. Di seguito tratteremo il provider Microsoft OLE DB per ODBC.
Stabilito a priori il provider da utilizzare si deve stabilire una connessione al database, quindi introduciamo l'oggetto CONNECTION.
L'oggetto Connection rappresenta una connessione aperta a una fonte dati.
Per creare questo oggetto bisogna utilizzare la seguente sintassi:


<%
Dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
%>

Una volta creato l'oggetto lo dobbiamo configurare (indicare quale è la nostra fonte dati e dove si trova fisicamente) utilizzando la proprietà ConnectionString. Sintassi:

<%
objConn.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& _
Server.MapPath("database.mdb")
%>

Non ci rimane che aprire la connessione con

<%objConn.Open%>

E' possibile evitare l'utilizzo della proprietà ConnectionString utilizzando la seguente sintassi:

<%
objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & _
Server.MapPath("database.mdb")
%>

Molta importanza riveste la chiusura della connessione, alla fine delle operazioni eseguite su una fonte dati, per non collassare il server. Queste operazione libera la parte di memoria associata alla connessione. Per fare ciò si deve chiudere la connessione e distruggere l'oggetto connection creato

<%
objConn.Close
Set objConn = Nothing
%>

Ora che sappiamo come gestire una connessione non ci resta che manipolare il nostro database.
Introduciamo l'oggetto RECORDSET: un oggetto Recordset rappresenta il set di record estratti da una tabella del databse interrogato. La sintassi per creare l'oggetto RecordSet è la seguente:


<%
Dim objRS
Set objRS = Server.CreateObject("ADODB.RecordSet")
%>

Per poter popolare il nostro RecordSet con i record di una tabella bisogna utilizzare il metodo OPEN

<%objRS.Open Fonte, ConnessioneAttiva, TipoCursore, TipoBlocco, Opzioni%>

dove Fonte rappresenta un elemento Variant che restituisce un nome di variabile oggetto Command valido, un'istruzione SQL, un nome di tabella, una chiamata di una stored procedure oppure il nome del file di un recordset protetto (opzionale); ConnessioneAttiva rappresenta l'elemento Variant che restituisce un nome di variabile oggetto Connection valido (nel nostro caso è objConn) o un elemento String contenente i parametri ConnectionString (opzionale); TipoCursore rappresenta il valore CursorTypeEnum che determina il tipo di cursore che il provider deve utilizzare quando apre il Recordset (è opzionale). Tale valore può essere una delle costanti che seguono:
adOpenForwardOnly Apre un cursore a scorrimento in avanti (impostazione predefinita);
adOpenKeyset Apre un cursore direzionabile;
adOpenDynamic Apre un cursore dinamico;
adOpenStatic Apre un cursore statico;
TipoBlocco rappresenta il valore LockTypeEnum che determina il tipo di blocco o concorrenza che il provider deve utilizzare quando apre il recordset (è opzionale). Tale valore può essere una delle costanti che seguono:
adLockReadOnly Sola lettura;
adLockPessimistic Il provider esegue le operazioni necessarie per assicurare la corretta modifica dei record, in genere vincolando i record nella fonte dati in fase di modifica;
adLockOptimistic Il provider utilizza il blocco ottimistico, vincolando i record solo quando viene chiamato il metodo Update;
adLockBatchOptimistic Aggiornamento batch ottimistico - Richiesto per la modalità di aggiornamento batch in contrapposizione con la modalità di aggiornamento immediato;
Opzioni rappresenta il valore Long che indica come il provider deve valutare l'argomento Fonte se questo non rappresenta un oggetto Command o che il recordset deve essere ripristinato da un file in cui era stato precedentemente salvato (è opzionale).
Utilizziamo il seguente esempio per sintetizzare gli argomenti trattati sino ad ora:
abbiamo un database di nome mydb.mdb contente una tabella di nome Utenti composta da due campi (Nome e Cognome) e vogliamo che ne vengano rappresentati a video tutti i record.


10 <%
20 Dim objConn
30 Set objConn = Server.CreateObject("ADODB.Connection")
40 objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & _
50 Server.MapPath("mydb.mdb")
60
70 Dim objRS
80 Set objRS = Server.CreateObject("ADODB.RecordSet")
90 objRS.Open "Utenti", objConn
...

Il mio RecordSet è stato popolato con tutti i record presenti nella tabella Utenti di mydb.mdb;
come fare per rappresentarli a video?
Quando si apre un Recordset, il record corrente corrisponde al primo record se disponibile, mentre le
proprietà BOF e EOF vengono impostate a False. Se non sono disponibili record, l'impostazione per BOF
e EOF è True.
È possibile utilizzare i metodi MoveFirst, MoveLast, MoveNext, MovePrevious e Move, e le proprietà
AbsolutePosition, AbsolutePage e Filter per riposizionare il record corrente, purché il provider supporti
la relativa funzionalità. Gli oggetti Recordset a scorrimento in avanti supportano solo il metodo MoveNext.
Quando si utilizzano i metodi Move per visualizzare ciascun record o enumerare il Recordset, è possibile
utilizzare le proprietà BOF ed EOF per verificare se è stato superato l'inizio o la fine del Recordset.
Quindi per scorrere il RecodSet utilizzeremo il metodo MOVENEXT e la proprietà EOF (End Of File)


...
100 Do While Not objRS.EOF
110 Response.Write objRS("Nome") & " " & objRS("Cognome")
120 objRS.MoveNext
130 Loop
140 objRS.Close
150 Set objRS = Nothing
160
170 objConn.Close
180 Set objConn = Nothing
190 %>

come per la connessione anche il RecordSet va chiuso e distrutto per liberare la memoria associata.
Si è visto come implementare un database in una pagina ASP (Connection e RecordSet). Vedremo in altre occasioni come aggiornare, inserire o cancellare dati dai nostri database.

 
29/05/2001
 
Formato adatto alla stampa

Esprimi un giudizio
1 2 3 4 5

 




 [ Homepage ]
 [ Preferiti ]
 [ Ricerca ASP ]
[ ASP ]
[ Guestbook ]
[ Forum ]
byluciani.com - CopyFree 2001-2010