최신 웹 개발 튜토리얼
 

ASP.NET웹 양식 - 데이터베이스 연결


ADO.NET은 .NET Framework의 일부입니다. ADO.NET 데이터 액세스를 처리하는 데 사용됩니다. ADO.NET을 사용하면 데이터베이스로 작업 할 수 있습니다.


예

DataList 컨트롤에 바인딩 - 데이터베이스 연결

리피터 컨트롤에 바인딩 - 데이터베이스 연결


ADO.NET은 무엇인가?

  • ADO.NET은 .NET 프레임 워크의 일부입니다
  • ADO.NET 데이터 액세스를 처리하기 위해 사용되는 클래스의 집합으로 구성
  • ADO.NET은 전적으로 XML을 기반으로
  • ADO.NET은 ADO와는 달리, 더 레코드 개체가 없습니다

데이터베이스 연결 만들기

우리는 우리의 예제에서 Northwind 데이터베이스를 사용하는 것입니다.

첫째, 수입 "System.Data.OleDb" 네임 스페이스를. 우리는 Microsoft Access 및 다른 OLE DB의 데이터베이스 공급자와 함께 작동하는이 공간이 필요합니다. 우리를 Page_Load 서브 루틴의 데이터베이스에 대한 연결을 생성합니다. 우리는 OLE DB 제공자와 데이터베이스의 위치를 ​​식별하는 연결 문자열을 가진 새로운는 OleDbConnection 클래스로 dbconn 변수를 만들 수 있습니다. 그럼 우리는 데이터베이스 연결을 엽니 다

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

Note: 연결 문자열은 줄 바꿈없이 연속 문자열이어야합니다!


데이터베이스 명령 만들기

데이터베이스에서 검색 할 레코드를 지정하려면, 우리는 새로운에서 OleDbCommand 클래스로 dbcomm 변수를 생성합니다. 에서 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를는 OleDbCommand 개체의 ExecuteReader 메서드를 호출함으로써 생성된다 :

<%@ 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를 바인딩 :

<%@ 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>Companyname</th>
<th>Contactname</th>
<th>Address</th>
<th>City</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()