ASP.NET Web Forms - Подключение к базе данных


ADO.NET также является компонентом платформы .NET. ADO.NET используется для обработки доступа к данным. Через ADO.NET можно работать с базами данных.


Examples

Попробуйте - Пример

Подключение к базе данных - Привязка к элементу управления DataList

Подключение к базе данных - Привязка к элементу управления Repeater


Что такое 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:

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

Другие расширения