/************************************************************* /* Copyright (C), 2014-2020, lyfz. Co., Ltd. /* 文件名: ADOParameter.h /* 作者: Jeff.w /* 创建日期: 2014-08-16 /* 版本号: V1.0 /* 描述: 核心层底,数据库ADO编程 /* 其它: /* 主要类模块: /* 历史修改记录: /* 作者 时间 版本 描述 /* Jeff.w 14/08/18 1.0 创建这个模块 ***************************************************************/ #ifndef __ADO_PARAMETER_HEADER__ #define __ADO_PARAMETER_HEADER__ #pragma once #include "AdoDef.h" class CADOParameter { public: enum cadoParameterDirection { paramUnknown = adParamUnknown, paramInput = adParamInput, paramOutput = adParamOutput, paramInputOutput = adParamInputOutput, paramReturnValue = adParamReturnValue }; CADOParameter(int nType, long lSize = 0, int nDirection = paramInput, CString strName = _T("")); virtual ~CADOParameter() { m_pParameter.Release(); m_pParameter = NULL; m_strName = _T(""); } BOOL SetValue(int nValue); BOOL SetValue(long lValue); BOOL SetValue(double dbValue); BOOL SetValue(CString strValue); BOOL SetValue(COleDateTime time); BOOL SetValue(_variant_t vtValue); BOOL GetValue(int& nValue); BOOL GetValue(long& lValue); BOOL GetValue(double& dbValue); BOOL GetValue(CString& strValue, CString strDateFormat = _T("")); BOOL GetValue(COleDateTime& time); BOOL GetValue(_variant_t& vtValue); void SetPrecision(int nPrecision){m_pParameter->PutPrecision(nPrecision);}; void SetScale(int nScale){m_pParameter->PutNumericScale(nScale);}; inline void SetName(CString strName){m_strName = strName;}; inline CString GetName(){return m_strName;}; inline int GetType(){return m_nType;}; inline _ParameterPtr GetParameter(){return m_pParameter;}; protected: void dump_com_error(_com_error &e); protected: _ParameterPtr m_pParameter; CString m_strName; int m_nType; CString m_strLastError; DWORD m_dwLastError; }; #endif