200 likes | 426 Views
ASP 8 장 Connection 과 Recordset 개체. 서국화 kookhwa@kunsan.ac.kr 군산대학교 통계컴퓨터과학과 정보과학기술 연구실 2012. 7. 23. 목 차. ADODB.Connection ADODB.Recordset. ADODB.Connection (1/10). error. property. 연결 설정에 대한 오류를 기술하는 컬렉션. 데이터베이스 연결 환경 정보가 저장된 컬렉션. Connection 개체의 계층구조. Connection 개체와 구성요소
E N D
ASP 8장 Connection과 Recordset개체 서국화 kookhwa@kunsan.ac.kr 군산대학교 통계컴퓨터과학과 정보과학기술 연구실 2012. 7. 23
목 차 ADODB.Connection ADODB.Recordset IST (Information Sciences & Technology) Laboratory
ADODB.Connection (1/10) • error • property 연결 설정에 대한 오류를 기술하는 컬렉션 데이터베이스 연결 환경 정보가 저장된 컬렉션 Connection 개체의 계층구조 • Connection 개체와 구성요소 • Connection개체 • ASP에서 DB프로그래밍을 위해 데이터 저장소에 대한 연결을 제공 • 질의문을 실행 • 질의문에 대한 결과를 반환 IST (Information Sciences & Technology) Laboratory
ADODB.Connection (2/10) • Connection개체의 메소드 • Connection개체 구성 요소 IST (Information Sciences & Technology) Laboratory
ADODB.Connection (3/10) • Connection속성 IST (Information Sciences & Technology) Laboratory
ADODB.Connection (4/10) IST (Information Sciences & Technology) Laboratory
ADODB.Connection (5/10) Connection.Execute(CommandText, RecordAffected, options) • Connection 개체 사용 • Connection.Execute • Connection개체를 통해 DB에 특정 명령을 수행 • 반환값이 필요 없는 INSERT, UPDATE, DELETE문을 실행할 때 사용 • CommandText • DB에서 실행할 명령어의 본문을 의미 • RecordAffected • DB에서 CommandText를 실행한 결과, 적용된 레코드의 숫자를 Long형으로 반환 • Options • CommandText의 옵션을 설정 • CommandText의 형태를 정의하는CommandTypeEnum과 질의 결과를 처리를 정의하는 ExecuteOptionEnum을 사용 IST (Information Sciences & Technology) Laboratory
ADODB.Connection (6/10) • CommandTypeEnum IST (Information Sciences & Technology) Laboratory
ADODB.Connection (7/10) • ExecuteOptionEnum IST (Information Sciences & Technology) Laboratory
ADODB. Connection (8/10) • Connection.Execute메소드로레코드셋 생성 • 레코드셋 • Select문의 결과 or 반환값이 있는 스토어드 프로시저를 실행한 결과 • 레코드셋 개체를 생성하지 않고도 Execute 메소드를 이용하여 레코드셋을 생성 IST (Information Sciences & Technology) Laboratory
ADODB. Connection (9/10) • 레코드셋 반환 없이 Execute 메소드 사용 • Insert, update, delete문과 같이 결과값이 없는 구문을 실행할 때 레코드셋 생성을 막기 위한 인수를사용 • 불필요하게 레코드셋을 생성하면 불필요한 서버 자원의 점유를 초래 IST (Information Sciences & Technology) Laboratory
ADODB.Connection (10/10) • Connection 개체의 트랜잭션 처리 • 트랜잭션 • 어떤 일련의 작업이 모두 성공하면 작업내용 모두를 적용, 작업 진행 과정 중 하나라도 실패가 있다면 모두 원래 상태로 되돌리는 단위 작업 • 트랜잭션 처리는 여러 개의 데이터베이스간의 교신에 이용되거나 절대로 오류가 발생되어서는 안되는 금융 서비스 등에 많이 사용 • 트랜잭션이 시작되는 순간부터 모든 변경사항은 commit이나 rollback되기 전까지 버퍼에 저장 IST (Information Sciences & Technology) Laboratory
ADODB.Recordset (1/7) • Recordset개체의 속성 • Recordset개체와 구성요소 • Recordset개체 • 실행된 명령으로 발생한 데이터를 저장하는 역할 • 레코드+컬럼 • 데이터무결성을 보장하기 위한 lock기능이 있음 • Recordset개체 구성 요소 IST (Information Sciences & Technology) Laboratory
ADODB.Recordset (2/7) • Recordset개체의 메소드 IST (Information Sciences & Technology) Laboratory
ADODB.Recordset (3/7) IST (Information Sciences & Technology) Laboratory
ADODB.Recordset (4/7) Set objDBConn = Server.CreateObject("ADODB.Connection") strConn = "Provider=SQLOLEDB.1;Data Source=localhost;Initial Catalog=Pubs;User ID=sa;Password=1" objDBConn.OpenstrConn strSQL = "SELECT * FROM Titles WHERE title_id='PS9453'" Set objRs = Server.CreateObject("ADODB.RecordSet") objRs.OpenstrSQL, strConn objRs.source=“select * frm Titles” objRs. ActiveConnection = objDBConn objRs.open ` Set objDBConn = Server.CreateObject("ADODB.Connection") strConn = "Provider=SQLOLEDB.1;Data Source=localhost;Initial Catalog=Pubs;User ID=sa;Password=1" objDBConn.OpenstrConn strSQL = "SELECT * FROM Titles WHERE title_id='PS9453'" Set objRs = Server.CreateObject("ADODB.RecordSet") objRs.OpenstrSQL, objDBConn • Recordset개체 사용 • Open 메소드를 이용하여 레코드셋 구성 • Recordset.open source, ActiveConnection, [CursorType], [LockType], [Options] • Source • DB에서 실행할 질의문 • 테이블명, 미리 정의한 함수 • objRs.Open “select * from Titles”, objDBConn • Recordset .save 메소드를 통해 파일로 저장된 Recordset개체를 다시 불러들일 때도 사용 • objRs.Open “C:\Inetpub\wwwroot\titles.dat” • ActiveConnection • Source 인수에서 정의한 질의문을 실행할 대상이 되는 데이터 연결 • Connection 개체가 사용됨 • 데이터베이스 연결 문자열이 사용 IST (Information Sciences & Technology) Laboratory
ADODB.Recordset (5/7) • CursorType의 종류와 적용되는 상수 • CursorType • 레코드셋에서 특정 레코드를 가리키는 포인터 • 커서의 이동과 레코드 변경, 삭제 여부를 파악하기 위해서 명시해야 함 • objRs.source=“select * frm Titles” objRs. ActiveConnection = objDBConn objRs. CursorType = adOpenStatic objRs.open IST (Information Sciences & Technology) Laboratory
ADODB.Recordset(6/7) • Options • Source의 종류를 정의 IST (Information Sciences & Technology) Laboratory
ADODB.Recordset(7/7) • 레코드셋에서페이징 처리 • 레코드셋페이징 • 여러 레코드를 한 페이지에 다 보여주지 않고 여러 페이지에 걸쳐서 나누어 보여주는 것 • PageSize속성과 AbsolutePage속성을 사용 • PageSize : 한 페이지에 보여줄 레코드 개수 • AbsolutePage : 커서를 몇 번째 페이지로 이동시켜 화면에 출력할지 지정하는 속성 • 페이징 처리 순서 IST (Information Sciences & Technology) Laboratory
감사합니다 서국화 kookhwa@kunsan.ac.kr