#ifndef __IOLEDB_H__ #define __IOLEDB_H__ #pragma once #include "idbcinterface.h" #include class QueryResult; //======================================================================================================================= /// OLE DB¸¦ »ç¿ëÇϱâ À§ÇØ WrappingÇÑ OLE DB ±¸Çö Class /** @author Kim Min Wook < taiyo@webzen.co.kr > @since 2004. 10. 20 @remarks - OLE DB¸¦ ±¸ÇöÇÑ Å¬·¡½º ( Pure COM OLE API »ç¿ë ) - Á¦°øÀÚ : OLEDB provider for SQL ServerÀ¸·Î ¼±ÅõǾî ÀÖ´Ù. - ´Ù¸¥ Database¿¡¼­ »ç¿ëÇϱâ À§Çؼ­´Â Database¿¡ ¸Â´Â Á¦°øÀÚ¸¦ ´Ù¿î·Îµå¹Þ¾Æ ¼³Ä¡Çϰí Ŭ·¡½ºID¸¦ ¼³Á¤ÇÑ´Ù. @note - Init(), Connect(), Execute(), Release()¼øÀ¸·Î »ç¿ëÇÑ´Ù. */ //======================================================================================================================= class IOLEDB : public IDBCInterface { public: IOLEDB(void); virtual ~IOLEDB(void); virtual VOID Release(); virtual BOOL Init( char * pszIPAddress, char * pszDatabaseName, char * pszUserName, char * pszUserPassword, fnCallBackMessage fnErrorMessage ); virtual BOOL Connect(); virtual VOID Disconnect(); virtual BOOL Execute( Query * pQuery ); private: BOOL SQLError( HRESULT hr ); VOID zDisplayProvider(); ///< helper function IDataInitialize * m_pIDataInitialize; IDBInitialize * m_pIDBInitialize; IDBCreateSession * m_pIDBCreateSession; IDBCreateCommand * m_pIDBCreateCommand; ICommand * m_pICommand; ICommandText * m_pICommandText; IRowset * m_pIRowset; IColumnsInfo * m_pIColumnsInfo; IAccessor * m_pIAccessor; HACCESSOR m_hAccessor; HROW m_hRow; HROW* m_phRow; DBBINDING m_pDBBindings[MAX_COL_NUM]; DBCOLUMNINFO * m_pDBColumnInfo; }; #endif // __IOLEDB_H__