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

📄 ocidb.h

📁 VC开发环境
💻 H
字号:
// OciDB.h: interface for the COciDB class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_OCIDB_H__0FFAA403_1D7A_42A6_8237_E24E8D4AD634__INCLUDED_)
#define AFX_OCIDB_H__0FFAA403_1D7A_42A6_8237_E24E8D4AD634__INCLUDED_

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

#include "include\oci.h"

#define MAX_FIELD 10

typedef struct _OciDBHandle
{
	OCIEnv        *m_pEnvHpp;
    OCIServer     *m_pSrvHpp;
    OCISvcCtx     *m_pSvcHpp;
	OCIError      *m_pErrHpp; 
    OCISession    *m_pSesHpp;

	BOOL           m_bLog;
	BOOL           m_bInit;

	int            m_nCount;
}OciDBHandle;

class COciDB  
{
public:
	OciDBHandle* m_pOciHandle;

    OCIStmt       *m_pStmtHpp;
    OCILobLocator *m_pLobLocator[MAX_FIELD];
    OCIDefine     *m_pDefineHpp[MAX_FIELD];
    OCIBind       *m_pBindHpp[MAX_FIELD];

	CString        m_csError;
	sb4            m_nError;

public:
	COciDB();
	virtual ~COciDB();

	// Handle
	BOOL Attach(OciDBHandle* pOciHandle);
	void Detach();
	// 登录与错误处理
	BOOL InitOciDB();
	void UnInitOciDB();
	BOOL LogOn(LPCSTR szOra,LPCSTR szUser,LPCSTR szPass);
	void LogOut();
	CString GetLastError();
	// 执行SQL
	BOOL AllocSQL(LPCSTR szSQL);
	BOOL BindVarchar(int nPos,char* pString,int nLen);
	BOOL BindInt(int nPos,int* pInt);
	BOOL ExecuteSQL();
	BOOL MoveNext();
	void Commit();
	// 常用函数
	void VarToChar(char* szVar);
	// LOB
	BOOL BindLob(int nPos,LPCSTR szSQL);
	BOOL WriteLob(int nPos,void* pData,int nLen);
	BOOL ReadLob(int nPos,void* pBuf,int nLen);
	BOOL WriteLobFromFile(int nPos,LPCSTR szFile);
	BOOL ReadLobToFile(int nPos,LPCSTR szFile);
	int  GetLobLen(int nPos);

private:
	CString GetOraError();
	CString SetSuccess();
	CString GetCode(int nCode);
};

#endif // !defined(AFX_OCIDB_H__0FFAA403_1D7A_42A6_8237_E24E8D4AD634__INCLUDED_)

⌨️ 快捷键说明

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