S3PResult.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:1k
源码类别:

模拟服务器

开发平台:

C/C++

  1. // S3PResult.h: interface for the S3PResult class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_S3PRESULT_H__2696807C_7E47_40E4_88EC_144021C8AB59__INCLUDED_)
  5. #define AFX_S3PRESULT_H__2696807C_7E47_40E4_88EC_144021C8AB59__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "KStdAfx.h"
  10. #include <sqlplus.hh>
  11. #include <assert.h>
  12. #include "S3PRow.h"
  13. class S3PResult  
  14. {
  15. protected:
  16. Result * m_pResult;
  17. protected:
  18. public:
  19. S3PResult(){m_pResult = NULL;}
  20. S3PResult(Result * pResult) { m_pResult = pResult;}
  21. virtual ~S3PResult();
  22. void SetResult(Result * pResult){m_pResult = pResult;}
  23. int num_rows() const {assert(m_pResult!=NULL); return m_pResult->num_rows();}
  24. int num_fields() const { assert( m_pResult != NULL ); return m_pResult->num_fields(); }
  25. void  data_seek (uint offset) const
  26. {
  27. assert(m_pResult!=NULL); 
  28. m_pResult->data_seek(offset);
  29. }
  30. int size() const {return num_rows();}
  31. int rows() const {return num_rows();}
  32. const ColumnAndValue operator [] (int i) const
  33. {
  34. assert(m_pResult!=NULL); 
  35. ColumnAndValue cav;
  36. Row row = (*m_pResult)[i];
  37. int col_count = m_pResult->num_fields();
  38. if (col_count>0)
  39. {
  40. for (int j = 0; j < col_count; j++)
  41. {
  42. std::string column = m_pResult->names(j);
  43. std::string value = row[j];
  44. cav[column]=value;
  45. }
  46. }
  47. return cav;
  48. }
  49. };
  50. #endif // !defined(AFX_S3PRESULT_H__2696807C_7E47_40E4_88EC_144021C8AB59__INCLUDED_)