⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oratype.cpp

📁 oracle引用库
💻 CPP
字号:
#define __OCICPP_INTERNAL_USE_#include "OraType.h"/*! \class OCICPP::OraType  \brief Abstract base class for the types supplied by the oracle server */OCICPP::OraType::OraType(OCIEnv *envhp,OCIError *errhp,OCIParam *paramd,ub2 type,int Rows): 	definehp(0),env(envhp),err(errhp),null(0),nRows(Rows){	char *tmpColName;	text *colName;	ub4 colNameLen;	internalType=type;	CHECKERR(errhp,OCIAttrGet((dvoid *) paramd,OCI_DTYPE_PARAM,(dvoid **) &colName,(ub4 *) &colNameLen,(ub4) OCI_ATTR_NAME,errhp));	tmpColName=(char *)calloc(colNameLen+1,sizeof(char));	for(unsigned i=0;i<colNameLen;i++) tmpColName[i]=colName[i];	attrName.assign(tmpColName);	free(tmpColName);	setTypeName();	null=(sb2 *)calloc(nRows,sizeof(sb2));	DEBUG(DLEV_DEBUG,"AttrName=%s TypeName=%s\n",attrName.c_str(),typeName.c_str());}OCICPP::OraType::~OraType(){	free(null);}void OCICPP::OraType::setTypeName() {	switch(internalType) {		case SQLT_CHR:			typeName.assign("VARCHAR2");			break;		case SQLT_NUM:			typeName.assign("NUMBER");			break;		case SQLT_LNG:			typeName.assign("LONG");			break;		case SQLT_RDD:		case SQLT_RID:			typeName.assign("ROWID");			break;		case SQLT_DAT:			typeName.assign("DATE");			break;		case SQLT_BIN:			typeName.assign("RAW");			break;		case SQLT_LBI:			typeName.assign("LONG RAW");			break;		case SQLT_AFC:			typeName.assign("CHAR");			break;		case SQLT_LAB:			typeName.assign("MLSLABEL");			break;		case SQLT_REF:			typeName.assign("REF");			break;		case SQLT_CLOB:			typeName.assign("CLOB");			break;		case SQLT_BLOB:			typeName.assign("BLOB");			break;		case SQLT_FILE:			typeName.assign("BFILE");			break;		case SQLT_RSET:			typeName.assign("Nested Table");			break;		default:			typeName.assign("Unknown");			break;	}}int OCICPP::OraType::getType() const {	return (int)internalType;}unsigned OCICPP::OraType::getSize() const {	return size;}int OCICPP::OraType::getReqType() const {	return (int)ReqType;}void OCICPP::OraType::getTypeName(std::string &tname) const {	tname.assign(typeName);}void OCICPP::OraType::getAttrName(std::string &aname) const {	aname.assign(attrName);}bool OCICPP::OraType::isNull(int row) const {	return (null[row]==-1)?1:0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -