Visualizzare i dati contenuti in un database è operazione ormai nota, ma uno degli ostacoli che possiamo incontrare è inserire questi valori in una tabella, o meglio, su più colonne diverse.
Gli ingredienti per risolvere il problema sono diversi: un pizzico di fantasia, una manciata di pazienza, un centinaio di righe ASP, un paio d'ore di lavoro. Salvare il file, attendere 3 minuti quindi verificare che il tutto funzioni ? e se poi dobbiamo modificare qualcosina?
Forte di queste esperienze, mi sono creato tutti i file ASP che servivano e che, man mano, includevo nella pagina. Ma se non volessi dare al cliente il sorgente di queste funzioni?
Ecco la risposta: MDB2HTML.DLL, una semplice DLL-ActiveX che fa proprio al caso nostro.
MDB2HTML.DLL
E' una DLL ActiveX creata con Microsoft Visual Basic 6.0 e permette la visualizzazione, su più colonne, dei dati memorizzati in un database.
Specificando la connessione DSN utilizzata, il nome della tabella, il nome dei due campi (da cui prelevare i valori) del nostro database nonché il numero di colonne che si intende utilizzare, la DLL automaticamente crea tutta la tabella necessaria.
La tabella stessa è personalizzabile: larghezza totale in percentuale o pixel, cellspacing, cellpadding, allineamento della tabella, allineamento verticale ed orizzontale delle celle nonché il colore di sfondo delle celle od i colori (visualizzati alternativamente).
Tutto ciò che quindi ci è necessario sta in poche righe.
Utilizzare la DLL
Come qualsiasi altro component COM, anche quest'ultimo per essere utilizzato deve essere registrato sul server web su cui dovrà essere pubblicato il nostro sito web.
Per registrare una DLL è necessario utilizzare il comando regsvr32. Dunque,, dopo aver scaricato la DLL, bisogna salvarla in una directory, per esempio, C:\DLL, e quindi eseguire il comando (Start Menu --> Esegui):
regsvr32 c:\dll\mdb2html.dll
Nota aggiuntiva : per rimuovere la registrazione della DLL, basterà aggiungere /u al nostro comando:
regsvr32 c:\dll\mdb2html.dll /u
Registrata la DLL possiamo quindi procedere creando il database che utilizzeremo. Creeremo una tabella assegnandogli il nome Dati , contenente tre colonne: ID_Campo , Etichetta e Pagina utilizzando il seguente tracciato record:
Nome | Tipo |
ID_Campo | Contatore e chiave primaria |
Etichetta | Testo |
Quindi passiamo ad inserire i dati che ci interessano. Il campo " Etichetta " verrà utilizzato come etichetta mentre i restanti due verranno utilizzati per ottenere un valore numerico (campi radio, checkbox, menù a comparsa) oppure per identificare la pagina da richiamare.
Per comodità utilizzeremo la fonte dati ODBC, per sfruttare il nostro database, assegnandogli il nome dll_mdb2html .
Per maggiori informazioni sull'accesso via OLE-db, che assicura performance migliori, si veda questo articolo .
Un primo esempio
A questo punto è tutto pronto per poter iniziare a scrivere la nostra pagina ASP. Innanzitutto creiamo l'istanza dell'oggetto, in questo modo:
<%Set DB = Server.CreateObject("MDB2HTML.Automation")%>
Quindi utilizziamo il primo degli otto metodi a nostra disposizione:
<%=DB.Version%>
Lo scopo di questo metodo è quello di visualizzare la versione della DLL ed è quindi più una comodità che un reale strumento di utilità.
I valori contenuti nel campo Etichetta , verranno utilizzati come testo da visualizzare mentre quelli contenuti nel campo ID_Campo , come valori di possibili link, RADIO, CHECKBOX o menù a tendina.
Per visualizzare, in 4 colonne si utilizza il metodo Table :
<hr><b>Elenco in tabella:</b>
<%=DB.Table("dll_mdb2html","Dati","Etichetta", 4)%>
La sintassi del metodo Table è semplicemente questa:
Oggetto.Table("[DSN]","[TabellaDB]","[CampoDB]", [Colonne])
Dove:
[DSN] = Connessione DSN (o DSN-Less) utilizzata
[TabellaDB] = Tabella del DataBase in cui è presente [CampoDB]
[CampoDB] = Campo del DataBase da cui caricare i dati
[Colonne] = Numero di colonne che si desidera ottenere nella tabella HTML
Attenzione: Questo articolo contiene un allegato.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.