Odb.h
上传用户:xaxinn
上传日期:2007-01-03
资源大小:39k
文件大小:2k
源码类别:

Oracle数据库

开发平台:

Visual C++

  1. // Odb.h: interface for the COdb class.
  2. //
  3. // Release 1, Copyright (C) 1999 Ben Bryant
  4. // This is sample source code, nothing more is implied. Use it only as such.
  5. // This software is provided 'as-is', without warranty. In no event will the
  6. // author be held liable for any damages arising from the use of this software.
  7. // Permission is granted to anyone to use this software for any purpose.
  8. // The origin of this software must not be misrepresented; you must not claim
  9. // that you wrote the original software. Altered source versions must be plainly
  10. // marked as such, and must not be misrepresented as being the original software.
  11. // Ben Bryant bcbryant@firstobject.com
  12. //
  13. //////////////////////////////////////////////////////////////////////
  14. #if !defined(AFX_ODB_H__6B1568A3_A4E0_11D2_A0C3_00105A27C570__INCLUDED_)
  15. #define AFX_ODB_H__6B1568A3_A4E0_11D2_A0C3_00105A27C570__INCLUDED_
  16. #if _MSC_VER > 1000
  17. #pragma once
  18. #endif // _MSC_VER > 1000
  19. class COdb  
  20. {
  21. public:
  22. COdb();
  23. virtual ~COdb();
  24. // Public methods
  25. HRESULT Open( CString csConnect );
  26. HRESULT Close();
  27. HRESULT Exec( CString csStatement );
  28. HRESULT Select( CString csStatement );
  29. HRESULT FetchNext();
  30. BOOL IsEOS();
  31. CString GetErrorDescription();
  32. CString ProcessQuotes( CString csValue );
  33. CString GetField( int iField );
  34. CString GetField( CString csName );
  35. BOOL GetField( int iField, CString& csName, CString& csValue, BOOL bQuotesIfValueRequires = FALSE );
  36. CString GetResults() { return m_csResults; };
  37. void StartLog() { m_csLog.Empty(); };
  38. CString GetLog() { return m_csLog; };
  39. protected:
  40. // These structs are defined in the cpp because they use oci.h types
  41. struct OdbContext; // status of the instantiated COdb
  42. struct OdbRecordSet; // defines select list and holds the results
  43. struct OdbField; // name, type, and result value of a field
  44. // Protected members
  45. OdbContext* m_po;
  46. CString m_csResults; // fetch row
  47. CString m_csLog; // PL/SQL statement log
  48. // Internal functions
  49. void CheckErr( short status );
  50. static void CleanWhitespace( CString& csStatement );
  51. };
  52. #endif // !defined(AFX_ODB_H__6B1568A3_A4E0_11D2_A0C3_00105A27C570__INCLUDED_)