Proud::CAdoConnection 클래스 참조
Proud::CAdoConnection에 대한 상속 다이어그램 :

Public 멤버 함수

PROUD_API CAdoConnection (ADODB::_Connection *conn)
 
PROUD_API void OpenEx (const PNTCHAR *pszConnStr, const PNTCHAR *AppName)
 
void Open (const PNTCHAR *pszConnStr)
 
PROUD_API void OpenEx (const PNTCHAR *pszConnStr, const PNTCHAR *AppName, DbmsType Type)
 
void Open (const PNTCHAR *pszConnStr, DbmsType Type)
 
PROUD_API void Close ()
 
PROUD_API void Close_NoThrow ()
 
PROUD_API bool IsOpened ()
 
PROUD_API long Execute (const PNTCHAR *lpszSQL)
 
PROUD_API long Execute (CAdoRecordset &outputRecords, const PNTCHAR *lpszSQL)
 
void BeginTrans ()
 
void RollbackTrans ()
 
void CommitTrans ()
 

추가로 상속된 멤버들

상세한 설명

ADO Wrapper API 의 DBMS 연결 객체

  • 전역으로 이 객체를 두어서 여러 스레드에서 접근하는 것은 여러가지 문제(가령 race condition)을 야기합니다. 따라서 필요할 때마다 이 객체를 로컬 변수로서 생성해서 쓰는 것이 바람직합니다. 한편, 성능을 위해서 연결만 하고 다른 용도로 사용되지 않는 프로세스 전역 객체를 하나 두는 것이 좋습니다. 자세한 것은 ADO로 데이터베이스에 접근하기ion_pooling 을 참고하십시오.
  • 이 객체를 생성하기 전에, 최소 1회의 CoInitialize를 호출해야 합니다. 그냥 스레드 메인 함수에 다음과 같은 구문을 넣어두면 편할 것입니다.
  • DB를 억세스하는 동안 critical section을 건들지 않음을 체크하는 기능: ADODB_RefCriticalSection, ADODB_RecommendCriticalSectionProc

멤버 함수 문서화

void Proud::CAdoConnection::BeginTrans ( )
inline

DB 트랜잭션을 시작합니다.

PROUD_API void Proud::CAdoConnection::Close ( )

ADODB를 닫습니다.

PROUD_API void Proud::CAdoConnection::Close_NoThrow ( )

ADODB를 닫습니다.

  • throw를 발생시키지 않습니다
void Proud::CAdoConnection::CommitTrans ( )
inline

DB 트랜잭션 커밋

PROUD_API long Proud::CAdoConnection::Execute ( const PNTCHAR *  lpszSQL)

SQL 구문을 실행한다. printf()처럼 사용 가능. 쿼리 구문

반환값
stored procedure에 의해 영향받은 record의 갯수, 영향받은 행이 없거나 실패시 0, Select 구문이면 -1 리턴
PROUD_API long Proud::CAdoConnection::Execute ( CAdoRecordset outputRecords,
const PNTCHAR *  lpszSQL 
)

SQL 구문을 실행합니다.결과는 outputRecords에 저장됩니다.

매개변수
outRecordset받아올 결과 레코드셋. 쿼리 구문
반환값
stored procedure에 의해 영향받은 record의 갯수, 영향받은 행이 없거나 실패시 0, Select 구문이면 -1 리턴
PROUD_API bool Proud::CAdoConnection::IsOpened ( )

ADO 객체가 DB 서버에 연결됐는지?

반환값
연결 성공하면 true를 리턴하고, 실패하면 false를 리턴합니다.
void Proud::CAdoConnection::Open ( const PNTCHAR *  pszConnStr)
inline

DB에 연결한다. 자세한 것은 OpenEx 도움말 참고

매개변수
pszConnStrDB Connection String
void Proud::CAdoConnection::Open ( const PNTCHAR *  pszConnStr,
DbmsType  Type 
)
inline

DB에 연결한다. 자세한 것은 OpenEx 도움말 참고

매개변수
pszConnStrDB Connection String
type
PROUD_API void Proud::CAdoConnection::OpenEx ( const PNTCHAR *  pszConnStr,
const PNTCHAR *  AppName 
)

DB에 연결한다. ADODB.Connection을 확장한 기능을 갖고 있다.

매개변수
pszConnStrDBMS 연결 문자열
  • ADO DB connection string 규약을 따른다. 자세한 것은 http://www.connectionstrings.com/ 참고.
  • Driver 혹은 Provider가 들어가지 않는다면,sqloledb를 provider로 사용한다. 아래는 한 예이다.
    Data Source=.;Database=ProudDB-Test;Trusted_Connection=yes // .을 써야지, localhost를 쓰지 말 것. 일부 컴에서 연결 실패 오류로 이어짐.
    Data Source=.;Database=ProudDB-Test;user id=xxx;password=yyy
AppNameSQL Server Enterprise Manager에서 표시되는 이름. connection의 이름에 특정 루틴을 의미하는 이름을 추가하고 싶으면 이걸 넣으면 데드락 등을 감지할 때 더 도움이 된다. 안 넣으면 무시된다.
PROUD_API void Proud::CAdoConnection::OpenEx ( const PNTCHAR *  pszConnStr,
const PNTCHAR *  AppName,
DbmsType  Type 
)

DB에 연결한다. ADODB.Connection을 확장한 기능을 갖고 있다.

매개변수
pszConnStrDBMS 연결 문자열
  • ADO DB connection string 규약을 따른다. 자세한 것은 http://www.connectionstrings.com/ 참고. 아래는 한 예이다.
    Data Source=.;Database=ProudDB-Test;Trusted_Connection=yes // .을 써야지, localhost를 쓰지 말 것. 일부 컴에서 연결 실패 오류로 이어짐.
    Data Source=.;Database=ProudDB-Test;user id=xxx;password=yyy
    //MySql
    Driver={MySQL ODBC 5.1 Driver};server=xxx.xxx.xxx.xxx;port=3306;Database=TableName;User ID=UserID;Password=yyy;
AppNameSQL Server Enterprise Manager에서 표시되는 이름. connection의 이름에 특정 루틴을 의미하는 이름을 추가하고 싶으면 이걸 넣으면 데드락 등을 감지할 때 더 도움이 된다. 안 넣으면 무시된다.
TypeDbmsType형태의 enum값을 넣습니다.MsSql,MySql등이 있습니다.(MsSql은 내부적으로 sqloledb Provider을 사용하고 있습니다.)
void Proud::CAdoConnection::RollbackTrans ( )
inline

DB 트랜잭션 롤백