반응형
1. Connection 객체의 속성과 메서드

Connection 객체의 속성
CommandTimeout - 명령실행 후 에러 리턴까지 기다리는 초
ConnectionString - 데이터 소스 연결을 위한 정보를 담는 문자열
ConnectionTimeout - 연결시도 후 에러 리턴까지 기다리는 초

Connection 객체의 메서드
Open     - 데이터 소스에 연결함
Close    - 연결된 Connection 객체를 닫음
Execute - 쿼리나 명령 등을 실행
BeginTians - 새로운 트랜잭션을 시작함
CommitTians - 수정내용을 저장함
RollbackTrans - 수정내용을 취소

2. 데이터 베이스와의 연결

(1) ODBC를 이용한 연결
Connection 객체의 생성
Set cn = Server.CreateObject("ADODB.Connection")

Access의 경우 (DNS은 'member', SQL Server의 DSN은 'membersql')

cn.open "DSNname"

또는

cn.open "DSN=member"

SQL SERVER의 경우는 (계정 id는 testq 암호는 1234 를 가정)

cn.open "membersql", "testq", "1234"

또는

cn.open "DSN=member;UID=testq;PWD=1234"


2. OLE DB를 이용한 연결
OLE DB는 ODBC에 비해 속도가 빠르고 ODBC에 비해 많은 종류의 데이터 액세스를 지원하므로 대부분의 데이터베이스 접속에 널리 사용된다.

(1)Access의 경우
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
             "Data Source=somefolder\xxxx.mdb;"


(2)SQL Server의 경우 OLE DB를 이용한 연결
SQL Server의 경우(SQL Server 이름은 coolnet, 사용할 데이터베이스 이름은 'memberdb', 계정 id는 'testq', 암호는 '1234'를 가정)

cn.Open "Provider=sqloledb;" & _
             "Data Source=coolnet;" & _
             "Initial Catalog=memberdb;" & _
             "User Id=testq;" & _
             "Password=1234"

또는

cn.Open "Provider=sqloledb;" & _
             "Server=coolnet;" & _
             "Database=memberdb;" & _
             "User Id=testq;" & _
             "Password=1234"


서버가 원격에 있다면 서버이름으로는 전체이름이나 IP 주소를 써 주면 된다.
(서버의 주소가 coolnet.dongyang.ac.kr)

cn.Open "Provider=sqloledb;" & _
             "Data Source=coolnet.dongyang.ac.kr;" & _

처럼 서버의 풀네임을 써주든지

cn.Open "Provider=sqloledb;" & _
             "Data Source=203.204.205.7;" & _

처럼 서버이름에 IP 주소를 쓰면 된다.


3. Connection 객체를 이용한 실행 쿼리의 실행

(1)Insert 쿼리의 실행
예문>
'객체 생성 및 DB와의 연결
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Server.MapPath(".") & "\Db\memberdb.mdb;"

SQL = "insert into 테이블명"
SQL = SQL & " (필드명1, 필드명2, ....)"
SQL = SQL & " values ('필드값1', '필드값2', ......)"

'쿼리실행
cn.execute SQL


(2)update 쿼리의 실행
예문>
SQL = "update 테이블명 set 필드명1 = 필드값1, 필드명2 = 필드값2 where 조건필드명 = '조건값'"

cn.execute SQL


(3)delete 쿼리의 실행
예문>
SQL = "delete from 테이블명 where 조건필드명 = '조건값'"

cn.execute SQL


(4) 쿼리에 의해 영향 받은 레코드 수 알아내기
예문>
SQL = "delete from member where age >= 200"
cn.execute SQL, RecordsAffected
response.write RecordAffected & "개의 레코드가 삭제되었습니다."

RecordsAffected라는 변수에 삭제된 레코드의 갯수가 들어 있게 된다. RecordsAffected라는 이름은 설명을 위해서 일부러 길게 변수 이름을 쓴 것이니 임의로 쓰면 된다.


4. Connection 객체의 Errors 컬렉션
Errors 컬렉션이 가지고 있는 속성
Count : Errors 컬렉션 내에 있는 error 객체의 숫자를 나타낸다.
Item : 숫자나 이름으로 특정한 error 객체를 리턴한다.
예문> cn.errors.item(0)

Error 컬렉션이 가지고 있는 메서드
Clear : Errors 컬렉션에 있는 모든 error 객체를 지운다.
Refresh : 컬렉션 내의 객체들을 update 한다.

Error 객체가 가지고 있는 속성
Description : 오류에 대한 설명 문자열
Number : 오류상수에 해당하는 Long 타입의 정수
Source : 오류를 발생시킨 객체







반응형

'공부 > ASP' 카테고리의 다른 글

Command 객체  (0) 2011.06.10
Recordset 객체  (0) 2011.06.08
ADO 컴포넌트와 ODBC/OLE DB  (0) 2011.06.03
SQL 기초  (0) 2011.06.01
실습 - HTML 웹 문서에서 VBScript를 사용하여 웹 페이지를 작성해 본다.  (0) 2011.05.31

+ Recent posts