ASP.NET - Databasanslutning
- 上一页 WebForms DataList
- 下一页 WebForms 母版页
ADO.NET är också en del av .NET-ramverket.
ADO.NET:s funktion är att hantera dataåtkomst. Genom ADO.NET kan du manipulera databasen.
Exempel
Vad är ADO.NET?
- ADO.NET är en del av .NET-ramverket
- ADO.NET består av en uppsättning klasser som används för att hantera dataåtkomst
- ADO.NET är helt baserat på XML
- ADO.NET har inget Recordset-objekt, vilket skiljer sig från ADO
Skapa databasanslutning
Vi tänker använda Northwind-databasen som vi har använt tidigare.
Först, importera namnrymden "System.Data.OleDb". Vi behöver denna namnrymd för att kunna hantera Microsoft Access och andra OLE DB-databasleverantörer. Vi kommer att skapa en anslutning till denna databas i Page_Load-subrutinen. Vi skapar en dbconn-variabel och tilldelar den en ny OleDbConnection-klass, som har en anslutningssträng som anger OLE DB och databasens plats. Sedan öppnar vi denna databasanslutning:
<%@ 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:Denna anslutningssträng måste vara en kontinuerlig sträng utan avbrott!
Skapa databaskommando
För att specificera vilka poster som ska hämtas från databasen skapar vi en dbcomm-variabel och tilldelar den en ny OleDbCommand. Denna OleDbCommand-klass används för att utföra SQL-frågor mot databastabeller:
<%@ 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>
Skapa DataReader
OleDbDataReader-klassen används för att läsa poster från en datakälla. Genom att anropa ExecuteReader-metoden på OleDbCommand-objektet kan du skapa 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>
Bind till Repeater-kontroll
Därefter, binder vi denna DataReader till en Repeater-kontroll:
<%@ 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>
关闭数据库连接
在不需要访问数据库后,请记得始终将 DataReader 和数据库连接关闭:
dbread.Close() dbconn.Close()
- 上一页 WebForms DataList
- 下一页 WebForms 母版页