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 클래스를 이 변수에 할당합니다. 이 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 클래스는 데이터 소스에서 레코드 스트림을 읽기 위해 사용됩니다. OleDbCommand 객체의 ExecuteReader 메서드를 호출하여 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()