Antonio Feliziani
a- a+

Accesso ai dati in ASP.NET

Il controllo DataGrid permette di concentrarsi sulla logicadi applicazione piuttosto che sui dettagli dello stato (statemanagement??)e degli eventi (event handling), rendendopiù semplice il lavoro dei programmatori. Questoarticolo rivela alcuni elementi di base sull’accesso aidati da un database.
CONNECTION, COMAND E DATASET.

Il Common Language Runtime fornisce un serie completa di APIper gestire l’ accesso ai dati nello sviluppo diapplicazioni data-intensive. Queste API aiutano ad estrarre idati e a presentarli in una forma coerente indipendentementedalla loro effettiva fonte (server SQL, OLEDB, XML, ecc.). Cisono essenzialmente tre oggetti con cui ci si ritrova alavorare più spesso: Connection, Command e DataSet.

- una Connection rappresenta la reale connessione ad unasorgente di dati, come il server SQL o un file XLM.

- un Command rappresenta un’istruzione per recuperare(selezionare) o manipolare la sorgente dei dati (inserire,aggiornare, cancellare).

- un DataSet rappresenta gli effettivi dati con cui lavoraun’applicazione. Ricordate che i DataSet sono sempreindipendenti dalla loro Connection di origine e dal modellodi dati e può quindi essere modificato separatamente.In ogni caso le modifiche fatte a un DataSet possono esserefacilmente sincronizzate con il modello di dati originario.

Il vantaggio di usare un DataSet è che consente unavisione separata del database. E’ possibile interveniresu un DataSet all’interno dell’applicazione e poipiù tardi sincornizzare i cambiamenti nel database.per applicazioni di lunga durata questo è spessol’approccio migliore. Per applicazioni web solitamentesi eseguono brevi operazioni ad ogni richiesta (normalmenteper mostrare i dati).

CODICE ESEMPIO:
Estrapolare i dati da un database Access 2000 o XP

 

<% @ Import Namespace="System.Data" %><% @ Import Namespace="System.Data.ADO" %><%%><html><body><script language="VB" runat="server">Sub Page_Load(Source As Object, E As EventArgs)Dim oConnection As ADOConnectionDim oCommand As ADODataSetCommandDim oDS As New DataSetDim sConnString As StringDim sSQL As StringDim nCount As Integer'Definire il nome della connessione e il nome del dbsConnString = "DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & Server.MapPath("inetpubwwwrootfreeaspxprova.mdb")'Definire la query SQLsSQL = "SELECT * FROM prova"'Creare una connessioneoConnection = New ADOConnection(sConnString)'Eseguire la query SQL precedentemente creataoCommand = New ADODataSetCommand(sSQL, sConnString)'richiamare il DataSet e il nome della tabellaoCommand.FillDataSet(oDS, "TestTable")DataGrid1.DataSource = oDS.Tables("TestTable").DefaultView DataGrid1.DataBind()End Sub</body></html>