다음 예제의 첫 번째 코드 블록은 ADO를 사용하여 단일 SQL 쿼리에서 반환된 레코드 집합을 읽고 조작하는 일반적인 ASP 응용 프로그램 유형입니다. ADO Recordset 개체를 사용하여 Microsoft Access와 함께 제공되는 Northwind 샘플 데이터베이스에서 반환된 데이터 레코드를 읽습니다. 코드는 .asp 파일 확장자를 가진 파일에 포함됩니다.
[비주얼베이직]
< %@LANGUAGE=VBSCRIPT% >
<!
이 ASP 예제는 ADO를 사용하여 데이터베이스에서 레코드를 읽고 두 개의 레코드를 인쇄합니다.
반환된 모든 레코드의 필드를 ASP 페이지로 연결합니다. Northwind 데이터베이스에 대한 연결은 ODBC 시스템 데이터 소스(DSN.
>
<html>
<본문>
<%
희미한 ADOconn, ADOrs, sqlstr
sqlstr="SELECT * 직원에서;"
ADOconn = Server.CreateObject("ADODB.Connection") 설정
ADOconn.Open "DSN = 테스트"
ADOrs = ADOconn.execute(sqlstr) 설정
if ADOrs.BOF 및 ADOrs.EOF then ' 쿼리가 어떤 레코드도 반환하지 않았습니다.
Response.Write("기록이 없습니다.")
또 다른
ADOrs.MoveFirst
ADOrs.EOF가 아닌 동안 수행
Response.Write(ADOrs("FirstName") & " " _
& ADOrs("성") & "<br>")
ADOrs.MoveNext
고리
Response.Write("<p>데이터가 끝납니다.")
종료하면
ADOrs.close
ADOrs = 아무것도 설정하지 않음
%>
</body>
</html>
다음 예제에서는 이전 예제를 ASP.NET 응용 프로그램으로 변환하는 데 필요한 최소한의 변경 사항을 보여줍니다. 새로운 Visual Basic 구문을 준수하려면 대부분의 변경이 필요합니다. 이 파일은 .aspx 파일 확장자로 이름을 바꿀 수 있으며 ASP.NET에서 실행됩니다. 수정된 코드 줄은 굵게 표시됩니다. aspcompat=true 특성이 포함된 <%@ Page > 지시문이 첫 번째 줄에 추가되었습니다.
[비주얼베이직]
< %@Page aspcompat=true 언어 = VB%>
<!
이 예에서는 ADO를 사용하여 데이터베이스에서 레코드를 읽고 두 개의 레코드를 인쇄합니다.
데이터베이스의 모든 레코드 필드를 ASP.NET 페이지로 보냅니다.
데이터베이스는 서버에 위치하며 연결은 ODBC 시스템 데이터 원본(DSN.
>
<html>
<본문>
<%
희미한 objConn, rs, sqlstr
sqlstr="SELECT * 직원에서;"
objConn = Server.CreateObject("ADODB.Connection") ' 설정이 제거되었습니다.
objConn.Open("DSN=TEST") ' 괄호가 추가되었습니다.
rs = objConn.execute(sqlstr) ' Set 문이 제거되었습니다.
Response.Write("<p>ADO 테스트</p>")
if rs.BOF 및 rs.EOF then ' 쿼리가 어떤 레코드도 반환하지 않았습니다.
Response.Write("기록 없음")
또 다른
rs.MoveFirst
rs.EOF가 아닌 동안 수행
'값 속성을 지정합니다.
Response.Write(rs("FirstName").값 _
& " " & rs("성").값 & "<br>")
rs.이동다음
고리
Response.Write("<p>데이터 끝")
종료하면
RS.닫기
rs = 아무것도 ' Set 문이 제거되었습니다.
%>
다음 예제는 ADO.NET을 사용하여 이전 예제와 동일한 Northwind 데이터베이스에서 레코드를 읽는 ASP.NET 응용 프로그램입니다. 이 코드로 생성된 출력은 이전 예제의 출력과 동일하며 ASP.NET 코드 블록 규칙을 따르도록 수정되었습니다.
이 예제에서는 ADO.NET DataSet 개체를 만듭니다. 이 개체에는 ADO 레코드 집합과 거의 동일한 방식으로 사용할 수 있는 데이터 테이블이 포함되어 있습니다. 데이터 세트는 메모리 상주 데이터베이스를 구성하는 하나 이상의 DataTables, DataRelations 및 Constraints 컬렉션으로 구성될 수 있으므로 ADO.NET 데이터 세트는 ADO 레코드 세트보다 훨씬 더 유연합니다.
ADO.NET을 사용하려면 System.Data 및 System.Data.OleDb 네임스페이스를 가져와야 합니다. 데이터 원본이 SQL Server 데이터베이스인 경우 System.Data.OleDb 대신 System.Data.SqlClient 네임스페이스를 가져옵니다. ADO 및 SQL .NET 데이터 공급자의 연결 개체 사용에 대한 자세한 내용은 연결 관리를 참조하십시오.
[비주얼베이직]
< %@Import Namespace="System.Data"%>
< %@Import Namespace="System.Data.OleDb"%>
<!
이 예에서는 ADO.NET을 사용하여 데이터베이스에서 레코드를 읽고 두 개의 레코드를 인쇄합니다.
반환된 모든 레코드의 필드를 ASP.NET 페이지로 보냅니다.
로컬 서버에 있습니다.
>
<html>
<스크립트 언어=VB Runat=서버>
하위 페이지_로드(개체로 보낸 사람, EventArgs로 e)
Dim MyConnection을 OleDbConnection으로 사용
Dim MyCommand를 OleDbDataAdapter로 사용
희미한 MyDataset을 DataSet으로 사용
희미한 MyTable을 DataTable로 사용
희미한 루프1, 정수로 numrows
문자열로 희미한 sqlstr
sqlstr = "SELECT * FROM 직원;"
' 데이터 소스에 대한 연결을 만듭니다.
MyConnection = New OleDbConnection("공급자=SQLOLEDB;" _
& "서버=localhost;"통합 보안=SSPI;" _
& "Initial Catalog=Northwind")
' SQL 문을 사용하여 Command 개체를 만듭니다.
MyCommand = New OleDbDataAdapter(sqlstr, MyConnection)
' 데이터베이스에서 반환된 데이터로 DataSet을 채웁니다.
MyDataset = 새 데이터세트
MyCommand.Fill(MyDataset)
' 새 DataTable 개체를 만들고 여기에 할당합니다.
' Tables 컬렉션의 새 테이블입니다.
MyTable = 새 데이터 테이블
MyTable = MyDataset.Tables(0)
' 행 컬렉션에 몇 개의 행이 있는지 확인
' 새 DataTable 개체의.
numrows = MyTable.Rows.Count
numrows = 0이면
Response.Write("<p>기록이 없습니다.</p>")
또 다른
Response.Write("<p>" & Cstr(numrows) & " 레코드를 찾았습니다.</p>")
for loop1 = 0 numrows - 1
' Columns에 있는 두 열의 값을 인쇄합니다.
' 각 행에 대한 컬렉션입니다.
Response.Write(MyTable.Rows(loop1).Item("FirstName") _
& " " & MyTable.Rows(loop1).Item("성") & "<br>")
다음 루프1
종료 조건
Response.Write("<p>데이터 끝입니다.</p>")
서브 끝
</스크립트>
</html>
데이터베이스 쿼리(또는 다중 테이블 조인 쿼리)가 단일 레코드 세트를 반환하는 경우 단일 DataTable(이 예에서는 MyTable)을 ADO 레코드 세트와 거의 동일한 방식으로 사용할 수 있습니다.
"NET FRAMEWORK SDK 설명서"를 참조하세요.