AdoCommand.h
上传用户:xutong0099
上传日期:2009-03-19
资源大小:29k
文件大小:4k
源码类别:

数据库系统

开发平台:

Visual C++

  1. #if !defined(_ANYOU_COOL_ADOCOMMAND_H)
  2. #define _ANYOU_COOL_ADOCOMMAND_H
  3. #include "AdoConnection.h"
  4. /*########################################################################
  5. ------------------------------------------------
  6.    CAdoParameter class
  7. ------------------------------------------------
  8.   ########################################################################*/
  9. class CAdoParameter
  10. {
  11. // 构建/折构 -------------------------------------------
  12. public:
  13. CAdoParameter();
  14. CAdoParameter(DataTypeEnum DataType, long lSize, ParameterDirectionEnum Direction, CString strName);
  15. virtual ~CAdoParameter();
  16. // 属性 ------------------------------------------------
  17. public:
  18. _ParameterPtr GetParameter() {return m_pParameter;}
  19. // 参数精度 ---------------------------
  20. BOOL SetPrecision(char nPrecision);
  21. // 参数小数位数 -----------------------
  22. BOOL SetNumericScale(int nScale);
  23. // 参数类型 ---------------------------
  24. ParameterDirectionEnum GetDirection();
  25. BOOL SetDirection(ParameterDirectionEnum Direction);
  26. // 参数名称 ---------------------------
  27. CString GetName();
  28. BOOL SetName(CString strName);
  29. // 参数长度 ---------------------------
  30. int GetSize();
  31. BOOL SetSize(int size);
  32. // 参数据类型 -------------------------
  33. DataTypeEnum GetType();
  34. BOOL SetType(DataTypeEnum DataType);
  35. // 方法 ------------------------------------------------
  36. public:
  37. BOOL GetValue(COleDateTime &value);
  38. BOOL GetValue(CString &value);
  39. BOOL GetValue(double &value);
  40. BOOL GetValue(long &value);
  41. BOOL GetValue(int &value);
  42. BOOL GetValue(short &value);
  43. BOOL GetValue(BYTE &value);
  44. BOOL GetValue(bool &value);
  45. BOOL SetValue(const float &value);
  46. BOOL SetValue(const short &value);
  47. BOOL SetValue(const BYTE &value);
  48. BOOL SetValue(const COleDateTime &value);
  49. BOOL SetValue(const CString &value);
  50. BOOL SetValue(const double &value);
  51. BOOL SetValue(const long &value);
  52. BOOL SetValue(const int &value);
  53. BOOL SetValue(const bool &value);
  54. BOOL SetValue(const _variant_t &value);
  55. //其他方法 ------------------------------
  56. public:
  57. _ParameterPtr& operator =(_ParameterPtr& pParameter);
  58. // 数据 ------------------------------------------------
  59. protected:
  60. _ParameterPtr m_pParameter;
  61. CString m_strName;
  62. DataTypeEnum m_nType;
  63. };
  64. /*########################################################################
  65. ------------------------------------------------
  66.    CAdoCommand class
  67. ------------------------------------------------
  68.   ########################################################################*/
  69. class CAdoCommand
  70. {
  71. // 构建/折构 -------------------------------------------
  72. public:
  73. CAdoCommand();
  74. CAdoCommand(CAdoConnection* pAdoConnection, CString strCommandText = _T(""), CommandTypeEnum CommandType = adCmdStoredProc);
  75. virtual ~CAdoCommand();
  76. // 属性 ------------------------------------------------
  77. public:
  78. _variant_t GetValue(LPCTSTR lpstrName);
  79. _variant_t GetValue(long index);
  80. _ParameterPtr GetParameter(long index);
  81. _ParameterPtr GetParamter(LPCTSTR lpstrName);
  82. BOOL Append(_ParameterPtr param);
  83. ParametersPtr GetParameters();
  84. BOOL SetCommandTimeOut(long lTime);
  85. long GetState();
  86. BOOL SetCommandType(CommandTypeEnum CommandType);
  87. BOOL SetCommandText(LPCTSTR lpstrCommand);
  88. CAdoParameter operator [](int index);
  89. CAdoParameter operator [](LPCTSTR lpszParamName);
  90. // 实现 ------------------------------------------------
  91. public:
  92. _ParameterPtr CreateParameter(LPCTSTR lpstrName, DataTypeEnum Type, 
  93.   ParameterDirectionEnum Direction, 
  94.   long Size, _variant_t Value);
  95. _RecordsetPtr CAdoCommand::Execute(long Options = adCmdStoredProc);
  96. BOOL Cancel();
  97. // 其他方法 --------------------------------------------
  98. public:
  99. _CommandPtr& GetCommand();
  100. BOOL SetConnection(CAdoConnection *pConnect);
  101. // 数据 ------------------------------------------------
  102. protected:
  103. void Release();
  104. _CommandPtr m_pCommand;
  105. CString m_strSQL;
  106. };
  107. #endif // !defined(_ANYOU_COOL_ADOCOMMAND_H)