ASP.NET - databaseforbindelse
- Forrige side WebForms DataList
- Næste side WebForms Master Page
ADO.NET er også en del af .NET-frameworket.
Funktionen for ADO.NET er at håndtere dataadgang. Gennem ADO.NET kan du operere med databaser.
Eksempel
Hvad er ADO.NET?
- ADO.NET er en del af .NET-frameworket
- ADO.NET består af en række klasser, der bruges til at operere med dataadgang
- ADO.NET er helt baseret på XML
- ADO.NET har ikke Recordset-objekt, hvilket adskiller sig fra ADO
Opret databaseforbindelse
Vi planlægger at bruge den tidligere brugte Northwind-database.
Først importerer vi navnerummet "System.Data.OleDb". Vi har brug for dette navnerum for at kunne operere med Microsoft Access og andre OLE DB-databaseprovider. Vi vil oprette en forbindelse til databasen i Page_Load-subrutinen. Vi opretter en dbconn-variabel og tildeler den en ny OleDbConnection-klasse, som har en forbindelsesstreng, der kan angive OLE DB og databasens placering. Derefter åbner vi denne databaseforbindelse:
<%@ 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>
Kommentar:Denne forbindelsesstreng skal være en kontinuerlig streng uden linjeskift!
Opret databasekommando
For at specificere de poster, der skal hentes fra databasen, opretter vi en dbcomm-variabel og tildeler den en ny OleDbCommand. Denne OleDbCommand-klasse bruges til at udføre SQL-forespørgsler mod databasetabeller:
<%@ 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>
Opret DataReader
OleDbDataReader-klassen bruges til at læse en strøm af poster fra datakilden. Ved at kalde ExecuteReader-metoden på OleDbCommand-objektet kan du oprette en 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() end sub </script>
Binde til Repeater-kontrol
Herefter binder vi denne DataReader til en Repeater-kontrol:
<%@ 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>Firmanavn</th> <th>Navn på kontaktperson</th> <th>Adresse</th> <th>By</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>
Luk databaseforbindelse
Bemærk altid at lukke DataReader og databaseforbindelse efter brug af databaseadgang:
dbread.Close() dbconn.Close()
- Forrige side WebForms DataList
- Næste side WebForms Master Page