ocidb.h
来自「提供OCI连接数据库并进行相关操作的通用的类」· C头文件 代码 · 共 80 行
H
80 行
// 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 + =
减小字号Ctrl + -
显示快捷键?