Gli ultimi tutorial di sviluppo web
 

ASP.NET Web Forms - Database Connection


ADO.NET è anche una parte di .NET Framework. ADO.NET viene utilizzato per gestire l'accesso ai dati. Con ADO.NET è possibile lavorare con i database.


Esempi

Esempi

Connessione al database - associare a un controllo DataList

Connessione al database - associare a un controllo Repeater


Che cosa è ADO.NET?

  • ADO.NET è una parte di .NET Framework
  • ADO.NET consiste di un insieme di classi utilizzate per gestire l'accesso ai dati
  • ADO.NET è interamente basato su XML
  • ADO.NET ha, a differenza di ADO, nessun oggetto Recordset

Creare una connessione al database

Abbiamo intenzione di utilizzare il database Northwind nei nostri esempi.

In primo luogo, importare il "System.Data.OleDb" namespace. Abbiamo bisogno di questo spazio dei nomi per lavorare con Microsoft Access e altri fornitori di database OLE DB. Creeremo la connessione al database nella subroutine Page_Load. Creiamo una variabile dbconn come una nuova classe OleDbConnection con una stringa di connessione che identifica il provider OLE DB e la posizione del database. Poi apriamo la connessione al 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()
end sub
</script>

Note: La stringa di connessione deve essere una stringa continua senza un'interruzione di linea!


Creazione di un comando di database

Per specificare i record da recuperare dal database, creeremo una variabile dbcomm come una nuova classe OleDbCommand. La classe OleDbCommand è per il rilascio query SQL contro le tabelle del 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)
end sub
</script>

Creare un DataReader

La classe OleDbDataReader è usato per leggere un flusso di record da una sorgente di dati. Un DataReader viene creata chiamando il metodo ExecuteReader dell'oggetto OleDbCommand:

<%@ 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()
end sub
</script>

Associare ad un controllo Repeater

Poi ci leghiamo il DataReader a un controllo Repeater:

Esempio

<%@ 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()
end sub
</script>

<html>
<body>

<form runat="server">
<asp:Repeater id="customers" runat="server">

<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>Companyname</th>
<th>Contactname</th>
<th>Address</th>
<th>City</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>
Visualizza l'esempio »

Chiudere la connessione al database

Sempre vicino sia il collegamento DataReader e database dopo l'accesso alla banca dati non è più necessaria:

dbread.Close()
dbconn.Close()