/**********************************************************************
**
** Filename : OLEDBException.h
**
** Contents : Include file for OLEDBException exception
**
**********************************************************************/
#pragma once
class COLEDBException : public CException
{
public:
COLEDBException(HRESULT hr);
COLEDBException(const CDataSource& DataSource, HRESULT hr);
COLEDBException(CSession& Session, HRESULT hr);
COLEDBException(IUnknown* pIUnknown, HRESULT hr);
virtual ~COLEDBException();
virtual BOOL GetErrorMessage(LPTSTR lpszError, UINT nMaxError, PUINT pnHelpContext = NULL);
virtual CString GetErrorMessage() { return m_strDBError ; }
virtual HRESULT GetErrorNo() { return m_hr ; }
private:
HRESULT m_hr;
CString m_strHRESULT;
CString m_strDBError;
void InitialiseMembers(HRESULT hr);
void GetExtendedErrorInfo();
};