📄 orarefcur.cpp
字号:
#define __OCICPP_INTERNAL_USE_#include "OraRefCur.h"/*! \class OCICPP::OraRefCur \brief Client-side representation of a reference to a cursor variable within the Oracle server */OCICPP::OraRefCur::OraRefCur(OCIEnv *envhp,OCIError *errhp,OCIParam *paramd,ub2 type,int rows) : OraType(envhp,errhp,paramd,type,rows),stmthp(0){ ReqType=SQLT_RSET; size=0; stmthp=(OCIStmt **)calloc(nRows,sizeof(OCIStmt *)); for(int i=0;i<nRows;i++) { if(OCIHandleAlloc((dvoid *)env,(dvoid **)&stmthp[i],OCI_HTYPE_STMT,(size_t) 0, (dvoid **) 0)!=OCI_SUCCESS) { throw OraError("OCICPPLIB: OraRefCur: HandleAlloc failed",OCICPPERROR); } } DEBUG(DLEV_DEBUG,"RefCursor created\n");}OCICPP::OraRefCur::~OraRefCur() { for(int i=0;i<nRows;i++) { OCIHandleFree(stmthp[i],OCI_HTYPE_STMT); } free(stmthp); OCIHandleFree(definehp,OCI_HTYPE_DEFINE);}void OCICPP::OraRefCur::getStr(std::string &str,int row) { str.assign("REFCURSOR");}void OCICPP::OraRefCur::define(OCIStmt *stmt,int col) { CHECKERR(err,OCIDefineByPos(stmt, &definehp, err,col+1, stmthp, (sb4)0, ReqType, (dvoid *)null, 0, 0, OCI_DEFAULT));} OCIStmt *OCICPP::OraRefCur::getStmt(int row) { return stmthp[row];}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -