ASP.NET - Connessione al database
- Pagina precedente DataList WebForms
- Pagina successiva Pagina master WebForms
ADO.NET è anche una parte del framework .NET.
Il ruolo di ADO.NET è gestire l'accesso ai dati. Attraverso ADO.NET, è possibile operare sui database.
Esempio
Cos'è ADO.NET?
- ADO.NET è una parte del framework .NET
- ADO.NET è composto da una serie di classi utilizzate per operare con l'accesso ai dati
- ADO.NET è completamente basato su XML
- ADO.NET non ha l'oggetto Recordset, diversamente da ADO
Creazione della connessione database
Intendiamo utilizzare il database Northwind che è stato utilizzato in precedenza.
Prima di tutto, importiamo lo spazio dei nomi "System.Data.OleDb". Abbiamo bisogno di questo spazio dei nomi per poter operare su Microsoft Access e altri provider di database OLE DB. Creeremo una connessione a questo database nel metodo Page_Load. Creeremo una variabile dbconn e assegniamo a questa variabile una nuova classe OleDbConnection, che contiene una stringa di connessione che può indicare OLE DB e la posizione del database. Poi apriamo questa connessione di database:
<%@ Import Namespace="System.Data.OleDb" %> <script runat="server"> sub Page_Load dim dbconn dbconn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" data source=" & server.mappath("northwind.mdb")") dbconn.Open() fine procedura </script>
Nota:Questa stringa di connessione deve essere una stringa continua senza interruzioni di riga!
Creazione del comando database
Per specificare i record necessari da recuperare dal database, creeremo una variabile dbcomm e le assegniamo un nuovo OleDbCommand. Questa classe OleDbCommand viene utilizzata per eseguire query SQL su tabelle di database:
<%@ Import Namespace="System.Data.OleDb" %> <script runat="server"> sub Page_Load dim dbconn, sql, dbcomm dbconn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" data source=" & server.mappath("northwind.mdb")") dbconn.Open() sql = "SELECT * FROM customers" dbcomm = New OleDbCommand(sql, dbconn) fine procedura </script>
Creazione di DataReader
La classe OleDbDataReader viene utilizzata per leggere un flusso di record dal sorgente di dati. Facendo chiamare il metodo ExecuteReader dell'oggetto OleDbCommand, è possibile creare un DataReader:
<%@ Import Namespace="System.Data.OleDb" %> <script runat="server"> sub Page_Load dim dbconn, sql, dbcomm, dbread dbconn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" data source=" & server.mappath("northwind.mdb")") dbconn.Open() sql = "SELECT * FROM customers" dbcomm = New OleDbCommand(sql, dbconn) dbread=dbcomm.ExecuteReader() fine procedura </script>
Collegamento alla Repeater Control
Poi, mettiamo questo DataReader in una Repeater Control:
<%@ Import Namespace="System.Data.OleDb" %> <script runat="server"> sub Page_Load dim dbconn, sql, dbcomm, dbread dbconn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" data source=" & server.mappath("northwind.mdb")") dbconn.Open() sql = "SELECT * FROM customers" dbcomm = New OleDbCommand(sql, dbconn) dbread=dbcomm.ExecuteReader() customers.DataSource=dbread customers.DataBind() dbread.Close() dbconn.Close() fine procedura </script> <html> <body> <form runat="server"> <asp:Repeater id="customers" runat="server"> <HeaderTemplate> <table border="1" width="100%"> <tr> <th>Nome dell'azienda</th> <th>Nome del contatto</th> <th>Indirizzo</th> <th>Città</th> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td><%#Container.DataItem("companyname")%></td> <td><%#Container.DataItem("contactname")%></td> <td><%#Container.DataItem("address")%></td> <td><%#Container.DataItem("city")%></td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> </form> </body> </html>
Chiudi la connessione del database
Dopo aver avuto bisogno di accedere al database, ricorda sempre di chiudere il DataReader e la connessione del database:
dbread.Close() dbconn.Close()
- Pagina precedente DataList WebForms
- Pagina successiva Pagina master WebForms