📄 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 "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 COciConnection
{
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:
COciConnection();
virtual ~COciConnection();
// 登录与错误处理
bool initOciDB();
void uninitOciDB();
bool logon(LPCTSTR szOra,LPCTSTR szUser,LPCTSTR szPass);
void logout();
CString getLastError();
int getErrCode(){return (int)m_nError;};
// 事务管理
bool transCommit();
bool transRollback();
//
void detach();
private:
CString GetOraError();
CString SetSuccess();
int m_status;
bool m_bAlwaysLogon;
};
class COciRecordset
{
public:
enum {MAX_COLUMN=30};
COciRecordset();
virtual ~COciRecordset();
bool setConnection(COciConnection * m_pOciConnect);
void detachConnect();
CString GetOraError();
CString getLastError(){return m_csError;};
bool open(LPCTSTR szSQL);
bool close();
void getValueString(CString &strVal, int nColumnIndex);
int getRecordCount();
bool moveNext();
bool isEOF() {return m_bIsEOF;};
private:
ub4 m_nColNum;//存放SELECT语句选中的列数
OCIDefine *m_defhp[MAX_COLUMN];//定义句柄
OCIParam *m_colhp; //列句柄
ub2 m_collen[MAX_COLUMN]; //列长度
sb2 m_ind[MAX_COLUMN];//指示符变量
text* m_colbuf[MAX_COLUMN]; //存放SELECT语句选中的列数据
char m_pszBuf[1024];
bool m_bIsEOF;
private:
OciDBHandle* m_pOciHandle;
OCIStmt *m_pStmtHpp;
OCIError *m_pErrHpp;
CString m_csError;
sb4 m_nError;
};
#endif // !defined(AFX_OCIDB_H__0FFAA403_1D7A_42A6_8237_E24E8D4AD634__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -