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

📄 odbcdynamic.h

📁 ODBC连接ORACLE数据库的完整源码
💻 H
字号:
// ODBCDynamic.h: interface for the CODBCDynamic class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_ODBCDYNAMIC_H__6D89D4E2_B716_11D4_9FF2_00E098774581__INCLUDED_)
#define AFX_ODBCDYNAMIC_H__6D89D4E2_B716_11D4_9FF2_00E098774581__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <afxtempl.h>
#include "DBVariantEx.h"
typedef CTypedPtrMap<CMapStringToPtr, CString /* column name */, CDBVariantEx* /* value */> CODBCRecord;
typedef CTypedPtrArray<CObArray, CODBCRecord*> CODBCRecordArray;

class CODBCDynamic  
{
public:
	CODBCDynamic(LPCSTR lpszDSN, 
		LPCSTR lpszUser = NULL, LPCSTR lpszPassword = NULL, 
		SQLHENV henv = NULL, SQLHDBC hdbc = NULL);
	// throws CUserException

	~CODBCDynamic();

public:
	enum
	{
		errorSqlAllocHandleHenv = 50000,
		errorSqlSetEnvAttr = 50001,
		errorSqlAllocHandleHdbc = 50002,
		errorSqlConnect = 50003,
		errorUnknownCause = 5004
	};

protected:
	void CleanOutRecordArray();
	
protected:
	SQLHENV m_henv;
	SQLHDBC m_hdbc;
	BOOL m_bIsConnected;

public:
	SQLHDBC GetHDBC ()
	{
		return m_hdbc;
	}
		
public:
	CODBCRecordArray m_ODBCRecordArray;

protected:
	short GetFieldTypeFromSQLType(short nSQLType);
	void* GetDataBuffer(CDBVariantEx* pvarValue, short nFieldType, int* pnLen, short nSQLType, UDWORD nPrecision);
	long GetData(SQLHSTMT hstmt, short nFieldIndex, short nFieldType, LPVOID pvData, int nLen, short nSQLType);

public:
	long ExecuteSQL(LPCTSTR lpszSQL);
	long FetchData(HSTMT hstmt);
};

#endif // !defined(AFX_ODBCDYNAMIC_H__6D89D4E2_B716_11D4_9FF2_00E098774581__INCLUDED_)

⌨️ 快捷键说明

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