ASP.NET: DataReader e DataSet


Corso ASP.NET: decima puntata

Esempio funzionante | Sorgente | Scarica il sorgente (zip)

DataReader e DataSet rispondono a due diverse esigenze.

Il DataReader ha ottime prestazioni e viene impirgato quando l’esigenza è di connettersi ai dati in sola lettura e in modalità forward-only

Il DataSet consente invece di eseguire ogni operazione sui dati e di utilizzare efficamente le tecniche di DataBinding ai controlli. Il DataSet è un oggetto di tipo “disconnesso“.

DataReader

Vediamo un esempio di utilizzo.

Viene visualizzata una tabella contenente il titolo, il numero di pagine e la collana di una serie di libri contenuti in un database Access.

L’interrogazione eseguita sul database è decisamente banale: sono estratti i libri la cui edizione risale al 1997 e i dati sono ordinati per titolo del libro.

  6 <%@ Import Namespace="System.Data" %>
  7 <%@ Import Namespace="System.Data.OleDb" %>

In testa al sorgente notiamo la dichiarazione di alcuni namespace: grazie a questi decidiamo quale tipo di DataAdapter utilizzare all’interno del programma. In questo caso stiamo usando i DataAdapter relativi ad una sorgente dati Old Db.

  9 <%@ Register TagPrefix="cnn" TagName="connection" Src="connessione.ascx" %>

È stato realizzato un file esterno di tipo ascx che contiene una proprietà con il percorso del database. Torneremo in un’altra puntata ad occuparci dei file ascx, per il momento quello che è sufficiente sapere è che in questo esempio è usato alla stregua di un file di configurazione.

 34     Dim objConnection As New OleDbConnection(ctlConnessione.Access)
 36     objConnection.Open()

Viene quindi dichiarata una connessione ADO.NET a cui è passata la stringa dichiarata nel file ascx.

 38     Dim objCommand As New OleDbCommand(strSelect,objConnection)    

È adesso il momento di creare un oggetto di tipo Command a cui è passata la connessione e l’operazione da svolgere (ovvero, la selezione dei libri del 1997).

A questo punto viene eseguito il metodo ExecuteReader che restituisce un oggetto DataReader pronto per l’uso.

 41     objDataReader = objCommand.ExecuteReader()

Con il metodo Read sono estratti uno per volta tutti i record del DataReader e viene composta una stringa che rappresenta una riga di una tabella Html.

Da notare come sia stato creato un oggetto di tipo asp:literal: è un segnaposto per la stringa che rappresenta il contenuto della tabella. Con l’istruzione

 58   risultati.Text = strTabella

il tutto viene poi visualizzato all’interno della tabella Html.

DataSet

Vediamo lo stesso esempio applicato ad un oggetto di tipo DataSet. Come dicevamo, non è il caso di utilizzare un DataSet se i dati estratti sono read-only e forward-only. La prossima puntata vedremo un “vero” caso di applicazione di un oggetto DataSet.

 31   Dim objDataAdapter As New OleDbDataAdapter(strSelect, objConnection)

Dopo la connessione, si dichiara un oggetto di tipo DataAdapter al quale è passata l’istruzione di selezione da eseguire.

 33   objDataAdapter.Fill(objDataSet,"Libro")

A questo punto, con il metodo Fill, viene “riempito” il DataSet (che, ricordiamo, è un oggetto disconnesso) con i dati restituiti dalla selezione.

 35   Dim objDataView As New DataView(objDataSet.Tables("Libro"))

È creato poi un oggetto di tipo DataView. Un DataView è una rappresentazione dei dati di un DataSet che consente di ordinarli e filtrarli secondo criteri impostati dall’utente. In questo caso, però, è utilizzato un oggetto DataView per un altro scopo: il Data Binding. Solo un oggetto DataView può essere “agganciato” ad un controllo per automatizzarne la visualizzazione.

 37   libri.DataSource = objDataView
 38   libri.DataBind()

Come si vede, il DataView è associato all’oggetto libri (un DataGrid) e viene poi richiamato il metodo DataBind per effettuare la visualizzazione dei dati, evitando al programmatore la scrittura di codice di gestione.

Il Colore nel Web

Se vi trovate alle prese con il design di un sito, ma il vostro titolo di studio non cade nell’area artistica, avete tra le altre cose bisogno di qualche nozione sull’uso del colore.

In una puntata del corso di web design abbiamo già avuto modo di soffermarci sulle tecniche del colore.

Questo manuale introduce la teoria dei colori (colori addittivi, sottrattivi, primari e secondari, proprietà del colore) per poi passare all’uso del colore nel web.

Si analizzano le differenze cromatiche tra il mondo Windows e Macintosh e la “safe palette“, i 216 colori con (approssimativamente) la stessa resa su tutte le piattaforme.

Sono anche presentati i formati grafici più utilizzati, Gif e Jpeg, e il loro impiego.

Pro

  • breve, ma efficace analisi alla teoria del colore
  • utili consigli sui compromessi della grafica tra Windows e Mac

Contro

  • molte pagine piene di tabelle di palette, ma che possono solo approssimare il colore del monitor

Informazioni

Il Colore nel Web (titolo originale Color for Website) ¤ di Molly E. Holzschlag ¤ pagine 180 ¤ prezzo 35.64 euro ¤ edito da Apogeo (editore originale Rotovision) ¤ pubblicato nel 2001

Testi chiari per parlare a tutti – Intervista a Luisa Carrada

  1. Spesso i testi dei siti web sono scritti da sviluppatori o da
    designer, quale consiglio daresti per creare un testo davvero usabile?
    [Risposta 1]
  2. Le homepage presentano una gran varietà di testi: slogan, news, strilli, presentazioni, lettering animato. Ci puoi indicare ciò che è indispensabile e ciò che invece è da evitare? [Risposta 2]
  3. Per argomenti lunghi e articolati il web ci viene incontro con l’ipertesto, cioè con la possibilità di affrontare tematiche a diversi livelli di approfondimento. Attraverso i link si abbandona momentaneamente la pagina principale per leggere gli approfondimenti in altre pagine. Non credi però che l’ipertesto rischi di far perdere il filo all’utente? [Risposta 3]
  4. Newsletter, forum, concorsi, test: come coinvolgere l’utente ad
    interagire con noi?
    [Risposta 4]
  5. E per finire ti chiediamo qualche consiglio per i testi di una
    Intranet. Ci sono differenze rispetto a Internet?
    [Risposta 5]

Spesso i testi dei siti web sono scritti da sviluppatori o da
designer, quale consiglio daresti per creare un testo davvero usabile?

Be’, diciamo che i testi andrebbero scritti da un professionista della scrittura, ma so molto bene che nella pratica del lavoro quotidiano tutti noi dobbiamo saper fare decentemente un po’ di tutto.

Sembra banale, ma un testo davvero usabile è prima di tutto un testo chiaro.

Chiaro nella strutturazione, logica e soprattutto visiva: titolo, sottotitolo, contenuto principale nel primo o nei primi paragrafi, parole chiave in neretto o in colore, brevi didascalie laterali che focalizzano l’attenzione su temi e aspetti particolari.

Chiaro nei contenuti: chiediamoci cosa il lettore sta effettivamente cercando sul sito e cerchiamo di rispondere alle sue curiosità, alle sue aspettative, alle sue domande.

Chiaro nello stile: sintassi piana, periodi non eterni, lessico preciso, linguaggio diretto, senza gerghi e luoghi comuni, più – se è il caso – un po’ di ironia e di leggerezza.

Tutto il resto viene dopo, anche il famoso dilemma “testi lunghi o testi brevi?”. Se siamo chiari, possiamo anche permetterci di essere lunghi (senza esagerare, naturalmente)

Top

Le homepage presentano una gran varietà di testi: slogan, news, strilli, presentazioni, lettering animato. Ci puoi indicare ciò che è indispensabile e ciò che invece è da evitare?

E’ difficile dare una risposta in assoluto, perché (fortunatamente) i siti sono così diversi tra loro per obiettivi, pubblico e quindi stile.

Personalmente detesto le animazioni, se non hanno una funzione precisa. Già gli occhi sullo schermo sono messi a dura prova…una scritta che scorre, magari a velocità supersonica, rischia davvero di farci perdere i messaggi più importanti.

Quindi evitare il sovraffollamento è essenziale per farsi leggere. Però un bravo web designer può far vivere su una sola pagina una gran varietà di testi diversi, ognuno con la sua funzione, il suo colore, il suo spazio, senza che il lettore ne sia disturbato, distratto o confuso.

L’ennesima prova che sul web testo e grafica vanno concepiti insieme: se la coppia creativa “copy + web designer” è affiatata e funziona, può anche infrangere e forzare le regole. Ottenendo magari dei bellissimi risultati e inventando un nuovo stile.

Top

Per argomenti lunghi e articolati il web ci viene incontro con l’ipertesto, cioè con la possibilità di affrontare tematiche a diversi livelli di approfondimento. Attraverso i link si abbandona momentaneamente la pagina principale per leggere gli approfondimenti in altre pagine. Non credi però che l’ipertesto rischi di far perdere il filo all’utente?

Credo che l’unica vera cosa che possa far perdere il filo all’utente sia la mancanza di interesse. Quando il percorso è “avvincente”, lo ricordiamo con facilità, ci annotiamo le Url delle pagine, le stampiamo.

Qualche volta capita di perdersi, ma io preferisco perdermi piuttosto che rinunciare alla ricchezza di possibilità e alle sorprese offerte dai link. Se abbiamo paura di perderci, allora leggiamo un libro, non le pagine del web.

Un bel link è poi un regalo che facciamo ai nostri lettori, un servizio che rendiamo loro. E’ vero che per riceverlo lasciano le pagine del nostro sito, ma se il regalo è piaciuto, possiamo starne certi: torneranno.

Nel MdS la pagina più visitata dopo la homepage è quella dei link: decine di siti affini e complementari al mio, molti sono per così dire siti “della concorrenza”. Se non li linkassi per timore, magari dei confronti, in realtà avrei tanti lettori in meno.

Top

Newsletter, forum, concorsi, test: come coinvolgere l’utente ad
interagire con noi?

A questa domanda posso rispondere soprattutto da utente.

Io mi faccio coinvolgere dai meccanismi più discreti dell’interattività: la newsletter prima di tutto, purché mi si chieda soltanto l’e-mail e niente di più.

Se devo rispondere a un questionario, lascio subito perdere.

La newsletter mi aggiorna delle novità, mi offre dei link comodi da cliccare per vedere e leggere a mio comodo quanto di nuovo c’è su un sito.

Poi mi piacciono moltissimo i sondaggi: è difficile che resista. Basta leggere le domande, barrare la mia risposta e dare subito un’occhiata all’andamento generale.

Il forum è molto più impegnativo: faccio parecchio “lurking” (è uno dei pochi termini internettiani che non traduco, perché rende troppo bene quel misto tra osservare e curiosare…), ma molto raramente partecipo. Devo avere davvero una domanda o una curiosità molto precise.

Top

E per finire ti chiediamo qualche consiglio per i testi di una
Intranet. Ci sono differenze rispetto a Internet?

Non ci sono differenze molto forti per quel che riguarda le regole di base di una buona comunicazione online. Ce ne sono invece per quel che riguarda il rapporto con i lettori, lettori che conosciamo bene, in gran parte anche personalmente: nelle loro sensibilità, nel loro linguaggio, nelle loro idiosincrasie, nei loro problemi.

Questo facilita molto la comunicazione, perché si trova immediatamente e spontaneamente un terreno comune di intesa.

Sull’intranet il gergo non solo non è tabù, anzi spesso è caldamente raccomandato.

Top