ASP.NET - соединение с базой данных

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()