📄 ocidb.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 + -