ASP.NET - Połączenie z bazą danych
- Poprzednia strona DataList WebForms
- Następna strona Szablon stronicowania WebForms
ADO.NET jest również częścią .NET Framework
Zadaniem ADO.NET jest obsługa dostępu do danych. Dzięki ADO.NET możesz operować na bazie danych.
Przykład
Czym jest ADO.NET?
- ADO.NET jest częścią .NET Framework
- ADO.NET składa się z serii klas używanych do operacji na dostępie do danych
- ADO.NET jest całkowicie oparty na XML
- ADO.NET nie ma obiektu Recordset, co różni się od ADO
Tworzenie połączenia z bazą danych
Zamierzamy użyć używanej bazy danych Northwind.
Najpierw, zaimportuj przestrzeń nazw "System.Data.OleDb". Potrzebujemy tej przestrzeni nazw, aby móc operować na Microsoft Access oraz innych dostawcach OLE DB. Utworzymy połączenie z tą bazą danych w procedurze Page_Load. Utworzymy zmienną dbconn i przypiszemy do niej nową klasę OleDbConnection, która zawiera ciąg znaków łącząca string, wskazujący na OLE DB oraz lokalizację bazy danych. Następnie otworzymy to połączenie z bazą danych:
<%@ 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>
Komentarz:Ta ciąg znaków łącząca string musi być ciągłym bez przerw!
Tworzenie polecenia bazy danych
Aby określić rekordy, które mają być pobrane z bazy danych, utworzymy zmienną dbcomm i przypiszemy jej nowy obiekt OleDbCommand. Klasa OleDbCommand służy do wysyłania zapytań SQL do tabel bazy danych:
<%@ 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>
Tworzenie DataReader
Klasa OleDbDataReader służy do odczytywania strumienia rekordów z źródła danych. Używając metody ExecuteReader obiektu OleDbCommand, można utworzyć 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>
Przypinanie do kontrolki Repeater
Następnie, przypinamy ten DataReader do kontrolki Repeater:
<%@ 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>
Zamknij połączenie z bazą danych
Po zakończeniu dostępu do bazy danych, pamiętaj, aby zawsze zamknąć DataReader i połączenie z bazą danych:
dbread.Close() dbconn.Close()
- Poprzednia strona DataList WebForms
- Następna strona Szablon stronicowania WebForms