⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adopack.h

📁 ADO封装类
💻 H
📖 第 1 页 / 共 2 页
字号:
		BOOL SetFieldValue(LPCTSTR lpFieldName, bool bValue);
		BOOL SetFieldValue(LPCTSTR lpFieldName, COleCurrency cyValue);
		BOOL SetFieldValue(LPCTSTR lpFieldName, _variant_t vtValue);

		BOOL GetFieldValue(int nIndex, int& nValue);
		BOOL GetFieldValue(int nIndex, long& lValue);
		BOOL GetFieldValue(int nIndex, unsigned long& ulValue);
		BOOL GetFieldValue(int nIndex, double& dbValue);
		BOOL GetFieldValue(int nIndex, CString& strValue, CString strDateFormat = _T(""));
		BOOL GetFieldValue(int nIndex, COleDateTime& time);
		BOOL GetFieldValue(int nIndex, bool& bValue);
		BOOL GetFieldValue(int nIndex, COleCurrency& cyValue);
		BOOL GetFieldValue(int nIndex, _variant_t& vtValue);
		BOOL GetFieldValue(LPCTSTR lpFieldName, int& nValue);
		BOOL GetFieldValue(LPCTSTR lpFieldName, long& lValue);
		BOOL GetFieldValue(LPCTSTR lpFieldName, unsigned long& ulValue);
		BOOL GetFieldValue(LPCTSTR lpFieldName, double& dbValue);
		BOOL GetFieldValue(LPCTSTR lpFieldName, CString& strValue, CString strDateFormat = _T(""));
		BOOL GetFieldValue(LPCTSTR lpFieldName, COleDateTime& time);
		BOOL GetFieldValue(LPCTSTR lpFieldName, bool& bValue);
		BOOL GetFieldValue(LPCTSTR lpFieldName, COleCurrency& cyValue);
		BOOL GetFieldValue(LPCTSTR lpFieldName, _variant_t& vtValue);

		BOOL Open(_ConnectionPtr pConn, LPCTSTR lpstrExec = _T(""), int nOption = CADORecordset::openUnknown);
		BOOL Open(LPCTSTR lpstrExec = _T(""), int nOption = CADORecordset::openUnknown);
		BOOL OpenSchema(int nSchema, LPCTSTR SchemaID = _T(""));
		BOOL IsOpen();
		void Close();

		CString GetQuery();
		void SetQuery(LPCSTR strQuery);
		BOOL RecordBinding(CADORecordBinding &pAdoRecordBinding);
		long GetRecordCount();
		long GetFieldCount();

		BOOL SetFilter(LPCTSTR strFilter);
		BOOL SetSort(LPCTSTR lpstrCriteria);
		BOOL SaveAsXML(LPCTSTR lpstrXMLFile);
		BOOL OpenXML(LPCTSTR lpstrXMLFile);
		BOOL Execute(CADOCommand* pCommand);
		BOOL Requery();


		void CancelUpdate();
		BOOL Update();
		void Edit();
		BOOL Delete();
		BOOL Clone(CADORecordset& pRs);
		BOOL AddNew();
		BOOL AddNew(CADORecordBinding &pAdoRecordBinding);


		BOOL IsFieldNull(LPCTSTR lpFieldName);
		BOOL IsFieldNull(int nIndex);
		BOOL IsFieldEmpty(LPCTSTR lpFieldName);
		BOOL IsFieldEmpty(int nIndex);	
		BOOL IsEof();
		BOOL IsEOF();
		BOOL IsBof();
		BOOL IsBOF();

		BOOL Find(LPCTSTR lpFind, int nSearchDirection = CADORecordset::searchForward);
		BOOL FindFirst(LPCTSTR lpFind);
		BOOL FindNext();

		void MoveFirst(); 
		void MoveNext() ;
		void MovePrevious() ;
		void MoveLast(); 

		long GetAbsolutePage();
		void SetAbsolutePage(int nPage);
		long GetPageCount();
		long GetPageSize();
		void SetPageSize(int nSize);
		long GetAbsolutePosition();
		void SetAbsolutePosition(int nPosition);

		BOOL GetFieldInfo(LPCTSTR lpFieldName, CADOFieldInfo* fldInfo);
		BOOL GetFieldInfo(int nIndex, CADOFieldInfo* fldInfo);

		BOOL AppendChunk(LPCTSTR lpFieldName, LPVOID lpData, UINT nBytes);
		BOOL AppendChunk(int nIndex, LPVOID lpData, UINT nBytes);
		BOOL GetChunk(LPCTSTR lpFieldName, CString& strValue);
		BOOL GetChunk(int nIndex, CString& strValue);
		BOOL GetChunk(LPCTSTR lpFieldName, LPVOID pData);
		BOOL GetChunk(int nIndex, LPVOID pData);

		CString GetString(LPCTSTR lpCols, LPCTSTR lpRows, LPCTSTR lpNull, long numRows = 0);
		CString GetLastErrorString() ;
		DWORD GetLastError();
		void GetBookmark();
		BOOL SetBookmark();
		BOOL IsConnectionOpen();
		_RecordsetPtr GetRecordset();
		_ConnectionPtr GetActiveConnection(); 

	public:
		_RecordsetPtr m_pRS;
		_CommandPtr m_pCmd;

	protected:
		IADORecordBinding *m_pRecBinding;
		_ConnectionPtr	m_pConn;
		int				m_nSearchDirection;
		CString			m_strFind;
		CString			m_strQuery;
		_variant_t		m_varBookFind;
		_variant_t		m_varBookmark;
		int				m_nEditStatus;
		CString			m_strLastError;
		DWORD			m_dwLastError;


	protected:
		BOOL PutFieldValue(LPCTSTR lpFieldName, _variant_t vtFld);
		BOOL PutFieldValue(_variant_t vtIndex, _variant_t vtFld);
		BOOL GetFieldInfo(FieldPtr pField, CADOFieldInfo* fldInfo);
		BOOL GetChunk(FieldPtr pField, CString& strValue);
		BOOL GetChunk(FieldPtr pField, LPVOID lpData);
		BOOL AppendChunk(FieldPtr pField, LPVOID lpData, UINT nBytes);
	};

	inline CString CADORecordset::GetQuery() {return m_strQuery;};
	inline void CADORecordset::SetQuery(LPCSTR strQuery) {m_strQuery = strQuery;};
	inline long CADORecordset::GetFieldCount()	{return m_pRS->Fields->GetCount();};
	inline BOOL CADORecordset::IsEof()	{return m_pRS->EndOfFile == VARIANT_TRUE;};
	inline BOOL CADORecordset::IsEOF()	{return m_pRS->EndOfFile == VARIANT_TRUE;};
	inline BOOL CADORecordset::IsBof()	{return m_pRS->BOF == VARIANT_TRUE;};
	inline BOOL CADORecordset::IsBOF()	{return m_pRS->BOF == VARIANT_TRUE;};
	inline void CADORecordset::MoveFirst()	{m_pRS->MoveFirst();};
	inline void CADORecordset::MoveNext()		{m_pRS->MoveNext();};
	inline void CADORecordset::MovePrevious() {m_pRS->MovePrevious();};
	inline void CADORecordset::MoveLast()		{m_pRS->MoveLast();};
	inline long CADORecordset::GetAbsolutePage()	{return m_pRS->GetAbsolutePage();};
	inline void CADORecordset::SetAbsolutePage(int nPage)	{m_pRS->PutAbsolutePage((enum PositionEnum)nPage);};
	inline long CADORecordset::GetPageCount(){return m_pRS->GetPageCount();};
	inline long CADORecordset::GetPageSize(){return m_pRS->GetPageSize();};
	inline void CADORecordset::SetPageSize(int nSize)	{m_pRS->PutPageSize(nSize);};
	inline long CADORecordset::GetAbsolutePosition()	{return m_pRS->GetAbsolutePosition();};
	inline void CADORecordset::SetAbsolutePosition(int nPosition)	{m_pRS->PutAbsolutePosition((enum PositionEnum)nPosition);};
	inline CString CADORecordset::GetLastErrorString() {return m_strLastError;};
	inline DWORD CADORecordset::GetLastError()	{return m_dwLastError;};
	inline void CADORecordset::GetBookmark()	{m_varBookmark = m_pRS->Bookmark;};
	inline BOOL CADORecordset::IsConnectionOpen()	{return m_pConn != NULL && m_pConn->GetState() != adStateClosed;};
	inline _RecordsetPtr CADORecordset::GetRecordset()	{return m_pRS;};
	inline _ConnectionPtr CADORecordset::GetActiveConnection()	{return m_pConn;};




	/************************************************************************/
	/* CADOParameter
	/************************************************************************/
	class ADOEXPORT CADOParameter
	{
	public:
		CADOParameter(int nType, long lSize = 0, int nDirection = paramInput, CString strName = _T(""));
		virtual ~CADOParameter();

		enum cadoParameterDirection
		{
			paramUnknown = adParamUnknown,
			paramInput = adParamInput,
			paramOutput = adParamOutput,
			paramInputOutput = adParamInputOutput,
			paramReturnValue = adParamReturnValue 
		};


		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);
		void SetScale(int nScale);
		void SetName(CString strName);
		CString GetName();
		int GetType();
		_ParameterPtr GetParameter();


	protected:
		_ParameterPtr	m_pParameter;
		CString			m_strName;
		int				m_nType;
		CString			m_strLastError;
		DWORD			m_dwLastError;
	};

	inline void CADOParameter::SetPrecision(int nPrecision)	{m_pParameter->PutPrecision(nPrecision);};
	inline void CADOParameter::SetScale(int nScale)	{m_pParameter->PutNumericScale(nScale);};
	inline void CADOParameter::SetName(CString strName)	{m_strName = strName;};
	inline CString CADOParameter::GetName()	{return m_strName;};
	inline int CADOParameter::GetType()	{return m_nType;};
	inline _ParameterPtr CADOParameter::GetParameter()	{return m_pParameter;};



	/************************************************************************/
	/* CADOCommand
	/************************************************************************/
	class ADOEXPORT CADOCommand
	{
	public:
		enum cadoCommandType
		{
			typeCmdText = adCmdText,
			typeCmdTable = adCmdTable,
			typeCmdTableDirect = adCmdTableDirect,
			typeCmdStoredProc = adCmdStoredProc,
			typeCmdUnknown = adCmdUnknown,
			typeCmdFile = adCmdFile
		};

		CADOCommand(CADOConnection* pDB, CString strCommandText = _T(""), int nCommandType = typeCmdStoredProc);
		virtual ~CADOCommand();

		BOOL AddParameter(CADOParameter* pAdoParameter);
		BOOL AddParameter(CString strName, int nType, int nDirection, long lSize, int nValue);
		BOOL AddParameter(CString strName, int nType, int nDirection, long lSize, long lValue);
		BOOL AddParameter(CString strName, int nType, int nDirection, long lSize, double dblValue, int nPrecision = 0, int nScale = 0);
		BOOL AddParameter(CString strName, int nType, int nDirection, long lSize, CString strValue);
		BOOL AddParameter(CString strName, int nType, int nDirection, long lSize, COleDateTime time);
		BOOL AddParameter(CString strName, int nType, int nDirection, long lSize, _variant_t vtValue, int nPrecision = 0, int nScale = 0);

		void	SetText(CString strCommandText);
		CString GetText();
		void	SetType(int nCommandType);
		int		GetType();
		BOOL	Execute();
		int		GetRecordsAffected();
		void	SetTimeout(long nTimeOut);
		_CommandPtr GetCommand();


	protected:
		_CommandPtr m_pCommand;
		int m_nCommandType;
		int m_nRecordsAffected;
		CString m_strCommandText;
		CString m_strLastError;
		DWORD m_dwLastError;
	};
	inline CString	CADOCommand::GetText()					{return m_strCommandText;};
	inline int		CADOCommand::GetType()					{return m_nCommandType;};
	inline int		CADOCommand::GetRecordsAffected()		{return m_nRecordsAffected;};
	inline void		CADOCommand::SetTimeout(long nTimeOut)	{m_pCommand->PutCommandTimeout(nTimeOut);};
	inline _CommandPtr CADOCommand::GetCommand()			{return m_pCommand;};


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -