ASP.NET 웹 양식 - 데이터베이스 연결
이 섹션에서는 다음을 설명합니다. ASP.NET에서 데이터베이스 연결이 구현되는 방법. 다음 내용에서는 ADO.NET을 접하게 됩니다.ADO.NET은 .NET Framework의 일부이기도 합니다. ADO.NET은 데이터 액세스를 처리하는 데 사용됩니다. ADO.NET을 통해 데이터베이스를 운영할 수 있습니다.
예
데이터베이스 연결 - DataList 컨트롤에 바인딩
데이터베이스 연결 - 리피터 제어에 바인딩됨
ADO.NET은 .NET Framework의 일부입니다.
ADO.NET은 데이터 액세스를 처리하는 일련의 클래스로 구성됩니다.
ADO.NET은 완전히 XML을 기반으로 합니다.
ADO.NET에는 ADO와 달리 Recordset 개체가 없습니다.
이 예에서는 Northwind 데이터베이스를 사용합니다.
먼저 "System.Data.OleDb" 네임스페이스를 가져옵니다. Microsoft Access 및 기타 OLE DB 데이터베이스 공급자를 작동하려면 이 네임스페이스가 필요합니다. Page_Load 서브루틴에서 이 데이터베이스에 대한 연결을 생성하겠습니다. dbconn 변수를 생성하고 OLE DB 공급자 및 데이터베이스 위치를 나타내는 연결 문자열을 사용하여 새 OleDbConnection 클래스를 할당합니다. 그런 다음 데이터베이스 연결을 엽니다.
<%@ Import Namespace="System.Data.OleDb" %><script runat="server">sub Page_Loaddim dbconndbconn=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_Loaddim dbconn,sql,dbcommdbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=" & server.mappath("northwind.mdb"))dbconn.Open()sql="SELECT * FROM 고객"dbcomm=새 OleDbCommand(sql,dbconn)end sub</script>
OleDbDataReader 클래스는 데이터 소스에서 레코드 스트림을 읽는 데 사용됩니다. DataReader는 OleDbCommand 개체의 ExecuteReader 메서드를 호출하여 생성됩니다.
<%@ Import Namespace="System.Data.OleDb" %><script runat="server">sub Page_Loaddim dbconn,sql,dbcomm,dbreaddbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source= " & server.mappath("northwind.mdb"))dbconn.Open()sql="SELECT * FROM 고객"dbcomm=New OleDbCommand(sql,dbconn)dbread=dbcomm.ExecuteReader()end sub</script>
그런 다음 DataReader를 Repeater 컨트롤에 바인딩합니다.
<%@ Import Namespace="System.Data.OleDb" %><script runat="server">sub Page_Loaddim dbconn,sql,dbcomm,dbreaddbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source= " & server.mappath("northwind.mdb"))dbconn.Open()sql="SELECT * FROM 고객"dbcomm=New OleDbCommand(sql,dbconn)dbread=dbcomm.ExecuteReader()customers.DataSource=dbreadcustomers.DataBind()dbread.Close()dbconn.Close()end sub</script><html><body> <form runat="server"><asp:Repeater id="고객" runat="server"><HeaderTemplate><table><tr><th>회사 이름</th><th>연락처 이름</th><th>주소</th><th>시</th></tr ></HeaderTemplate><ItemTemplate><tr><td><%#Container.DataItem("companyname")%></td><td><%#Contain er.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()