ASP.NET - соединение с базой данных
- Предыдущая страница DataList WebForms
- Следующая страница Master Page WebForms
ADO.NET также является частью .NET-фреймворка.
Функция ADO.NET заключается в обработке доступа к данным. Через ADO.NET вы можете работать с базой данных.
Пример
Что такое ADO.NET?
- ADO.NET является частью .NET-фреймворка
- ADO.NET состоит из ряда классов, предназначенных для работы с доступом к данным
- ADO.NET полностью основан на XML
- ADO.NET не имеет объекта Recordset, в отличие от ADO
Создание подключения к базе данных
Мы планируем использовать базу данных Northwind, которую мы уже использовали.
Сначала импортируем пространство имен "System.Data.OleDb". Нам нужно это пространство имен, чтобы можно было работать с Microsoft Access и другими провайдерами OLE DB. Мы создадим соединение с базой данных в процедуре Page_Load. Мы создадим переменную dbconn и присвоим ей новый OleDbConnection, который содержит строку подключения, указывающую на OLE DB и положение базы данных. Затем мы откроем это соединение с базой данных:
<%@ 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>
Комментарий:Эта строка подключения должна быть непрерывной и без отступов!
Создание команд базы данных
Чтобы определить записи, которые необходимо вернуть из базы данных, мы создадим переменную dbcomm и присвоим ей новый OleDbCommand. Этот класс OleDbCommand используется для выполнения SQL-запросов к таблицам базы данных:
<%@ 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>
Создание DataReader
Класс OleDbDataReader используется для чтения потока записей из источника данных. Создав DataReader, можно использовать метод ExecuteReader объекта OleDbCommand для создания 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>
Привязка к контролю Repeater
Затем, мы привязываем этот DataReader к контролю 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>Название компании</th> <th>Имя контактного лица</th> <th>Адрес</th> <th>Город</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()
- Предыдущая страница DataList WebForms
- Следующая страница Master Page WebForms