ASP.NET - 데이터베이스 연결
- 이전 페이지 WebForms DataList
- 다음 페이지 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 클래스를 이 변수에 할당합니다. 이 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()
- 이전 페이지 WebForms DataList
- 다음 페이지 WebForms 마스터 페이지