ADOParameter.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /*************************************************************
  2. /* Copyright (C), 2014-2020, lyfz. Co., Ltd.
  3. /* 文件名: ADOParameter.h
  4. /* 作者: Jeff.w
  5. /* 创建日期: 2014-08-16
  6. /* 版本号: V1.0
  7. /* 描述: 核心层底,数据库ADO编程
  8. /* 其它:
  9. /* 主要类模块:
  10. /* 历史修改记录:
  11. /* 作者 时间 版本 描述
  12. /* Jeff.w 14/08/18 1.0 创建这个模块
  13. ***************************************************************/
  14. #ifndef __ADO_PARAMETER_HEADER__
  15. #define __ADO_PARAMETER_HEADER__
  16. #pragma once
  17. #include "AdoDef.h"
  18. class CADOParameter
  19. {
  20. public:
  21. enum cadoParameterDirection
  22. {
  23. paramUnknown = adParamUnknown,
  24. paramInput = adParamInput,
  25. paramOutput = adParamOutput,
  26. paramInputOutput = adParamInputOutput,
  27. paramReturnValue = adParamReturnValue
  28. };
  29. CADOParameter(int nType, long lSize = 0, int nDirection = paramInput, CString strName = _T(""));
  30. ~CADOParameter()
  31. {
  32. m_pParameter.Release();
  33. m_pParameter = NULL;
  34. m_strName = _T("");
  35. }
  36. BOOL SetValue(int nValue);
  37. BOOL SetValue(long lValue);
  38. BOOL SetValue(double dbValue);
  39. BOOL SetValue(CString strValue);
  40. BOOL SetValue(COleDateTime time);
  41. BOOL SetValue(_variant_t vtValue);
  42. BOOL GetValue(int& nValue);
  43. BOOL GetValue(long& lValue);
  44. BOOL GetValue(double& dbValue);
  45. BOOL GetValue(CString& strValue, CString strDateFormat = _T(""));
  46. BOOL GetValue(COleDateTime& time);
  47. BOOL GetValue(_variant_t& vtValue);
  48. inline void SetName(CString strName){m_strName = strName;};
  49. inline CString GetName(){return m_strName;};
  50. inline int GetType(){return m_nType;};
  51. inline _ParameterPtr GetParameter(){return m_pParameter;};
  52. protected:
  53. void dump_com_error(_com_error &e);
  54. protected:
  55. _ParameterPtr m_pParameter;
  56. CString m_strName;
  57. int m_nType;
  58. CString m_strLastError;
  59. DWORD m_dwLastError;
  60. private:
  61. CString IntToStr(int nVal);
  62. CString LongToStr(long lVal);
  63. CString ULongToStr(unsigned long ulVal);
  64. CString DblToStr(double dblVal, int ndigits = 20);
  65. CString DblToStr(float fltVal);
  66. };
  67. #endif