2 // Description: Database Connection Handle manager.
7 // State's of Connection Handle.
10 C0
, // henv not allocated,hdbc not allocated
11 C1
, // henv allocated,hdbc not allocated
12 C2
, // henv allocated,hdbc allocated
13 C3
, // Connection function needs data
15 C5
, // Connected hdbc, allocated statement
16 C6
// Connected hdbc, Transaction in progress
21 CSqlOdbcDbc(void); // Should not create obj without using SQLAllocHandle
24 // Top 2 variable declaration should not be moved down.
25 int handleType_
; // Handle type.
26 CSqlOdbcError err_
; // Last error info.
28 DbcState_t state_
; // Environment State.
29 CSqlOdbcEnv
*parentEnv_
; // Parent Environment Handle.
30 std::vector
<CSqlOdbcStmt
*> stmtList_
; // Statement handle list.
31 std::vector
<CSqlOdbcDesc
*> descList_
; // Descriptor handle list.
32 SqlConnection fsqlConn_
; // FastSQL connection object. // CSQL
33 SQLUINTEGER curAccessMode_
;
34 IsolationLevel curIsolationLevel_
;
36 // Connection Attributes
37 SQLUINTEGER accessMode_
; // Transaction access mode
38 // SQL_MODE_READ_ONLY OR
39 // SQL_MODE_READ_WRITE
41 IsolationLevel isolationLevel_
;// Transaction Isolation Level.
42 // SQL_TXN_READ_UNCOMMITTED
43 // SQL_TXN_READ_COMMITTED
44 // SQL_TXN_REPEATABLE_READ
45 // SQL_TXN_SERIALIZABLE
47 SQLUINTEGER autoCommit_
; // Automatically Commit after execution.
53 SQLRETURN
chkStateForSQLFreeHandle( void );
54 SQLRETURN
chkStateForSQLConnect( void );
55 SQLRETURN
chkStateForSQLDisconnect( void );
56 SQLRETURN
chkStateForSQLEndTran( void );
57 SQLRETURN
chkStateForSQLSetConnectAttr( void );
60 static SQLRETURN
SQLAllocHandle(
61 SQLHANDLE inputHandle
, // IN
62 SQLHANDLE
*outputHandle
);// OUT
64 static SQLRETURN
SQLFreeHandle(
65 SQLHANDLE inputHandle
); // IN
67 SQLRETURN
SQLConnect( // All param's are IN
75 SQLRETURN
SQLDisconnect();
78 SQLSMALLINT completionType
);// IN
80 SQLRETURN
SQLSetConnectAttr(
81 SQLINTEGER attribute
, // IN
82 SQLPOINTER value
, // IN
83 SQLINTEGER stringLength
); // IN
85 SQLRETURN
SQLGetConnectAttr(
86 SQLINTEGER attribute
, // IN
87 SQLPOINTER value
, // OUT
88 SQLINTEGER bufferLength
, // IN
89 SQLINTEGER
*stringLength
); // OUT
94 #endif // _ODBC_DBC_H_