📄 oracle.h
字号:
#ifndef __ORACLE_H#define __ORACLE_H#include <iostream.h>#include <stdio.h>#include <oci.h>#include "Database.h"#include <userlog.h>typedef class CStrResult{public: //char rowbuffer[MAX_COLUMN][MAX_COLSIZE]; char **rowbuffer;public: int rowid; //结果行号 int cols; //结果列数 BOOL istail; //是否是最后一行的标志 CStrResult *header; //结果头,没有真实数据,rowid=0 CStrResult *next; //下一结果 public: CStrResult(); virtual ~CStrResult(); CStrResult *GetHeader(); CStrResult *GetTail(); //返回第row行第col列结果数据 char *GetColData(int row,int col); //void DropResult(CStrResult *data); //在尾部增加一行结果数据 void AddTail(char data[MAX_COLUMN][MAX_COLSIZE],int cols);}CStrResult;typedef class COracle COracle;class COracle:public CDatabase{protected: void CheckErr(const char *pPre);public: sb2 ColInd[MAX_COLUMN]; BOOL Connect(); BOOL DisConnect(); BOOL Execute(char *pSql,int aProcType); BOOL BeginTran(); BOOL Commit(); BOOL Rollback(); BOOL HandleReturn(int aProcType); BOOL SendSql(char *pSql); BOOL BindColumns(); BOOL FetchRow(int aProcType); char *ExecProc(char *pSql); public: COracle(); COracle(char *pUser,char *pPass,char *pServer,char *pDb,char *pApp="",char *pHost=""); virtual ~COracle();public: char *GetSqlErrText(); void ResetData(); void InitData(); char RowBuf[MAX_COLUMN][MAX_COLSIZE]; CStrResult *data; char *GetData(); BOOL DoSql(char* CommandBuffer); long GetSqlCode(); long GetRowCount(); void DeleteData();public: OCIEnv *OciEnv; OCIError *OciError; OCIServer *OciServer; OCISvcCtx *OciSvcCtx; OCISession *OciSession; OCIStmt *OciStmt; OCIDefine *OciDef[MAX_COLUMN]; ub4 OciMode; sword Status; char *ret;};#endif //__ORACLE_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -