GnuSmalltalkUsersGuide:AdditionalChapter3 02
- DBI.Connection
DBI.Connection
네임스페이스 DBI에 정의됨.
슈퍼클래스: Object
범주: DBI-프레임워크
- 나는 데이터베이스에 대한 연결을 나타낸다.
DBI.Connection 클래스: 연결하기
connect: aDSN user: aUserName password: aPassword
주어진 사용자명과 비밀번호를 이용해 aDSN가 식별한 데이터베이스 서버로 연결하라. DSN은 dbi:DriverName:dbname=database name;host=hostname;port=port 포맷으로 되어 있으며, 여기서 dbi 는 상수, DriverName 는 드라이버명, 그 외 모든 것은 name1=value1;name2=value2;... 폼으로 된 매개변수에 해당한다.
각 드라이버는 서로 다르게 매개변수를 파싱하지만 기존 드라이버들은 모두 dbname, host, port 매개변수를 지원한다.
paramConnect: params user: aUserName password: aPassword
params (Dictionary 객체)와 주어진 사용자명과 비밀번호를 (추상적) 이용해 데이터베이스 서버로 연결하라.
DBI.Connection 클래스: 초기화
updateDriverList
Private - Connection의 새 서브클래스를 검색하라.
DBI.Connection: 접근하기
>> aString
주어진 테이블에 상응하는 Table 객체를 리턴한다.
database
이 연결에 대한 데이터베이스명을 리턴한다. 이는 SQL 표준 용어로 하면 카탈로그(catalog)에 해당한다 (추상적).
fieldConverter
스몰토크 객체를 쿼리로 삽입하는 데 사용 가능한 FieldConverter를 리턴한다.
tableAt: aString
주어진 테이블에 상응하는 Table 객체를 리턴한다.
tableAt: aString ifAbsent: aBlock
주어진 테이블에 상응하는 Table 객체를 리턴한다.
DBI.Connection: 연결하기
close
연결을 지금 닫아라; GC에서도 발생해야 한다 (추상적).
DBI.Connection: 질의하기
do: aSQLQuery
SQL 문을 실행하라 (보통은 결과 집합을 리턴하지 않는 SQL문). 리턴값은 ResultSet로서, 이 곳으로 #rowsAffected 를 전송할 수 있다 (추상적).
prepare: aSQLQuery
실행 가능한 문(statement) 객체를 (가능하다면 매개변수도 함께) 반복하여 생성하라 (추상적).
primTableAt: aString ifAbsent: aBlock
주어진 테이블에 상응하는 Table 객체를 리턴한다. 서브클래스에 의해 오버라이드되어야 한다.
select: aSQLQuery
SQL 문을 준비하여 실행한다. 결과 집합을 리턴하거나 실패 시 예외를 던진다 (추상적).