Linux下使用C/C 访问数据库
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-05-17
ption(int errno) { this ->m_iErrNo = errno; this ->m_sErrBuff[0] = 0; this ->m_sErrFunc[0] = 0; } /* 拥有帝国一切,皆有可能。欢迎访问phome.net * OCIException.h * * Created .: Mar 1, 2009 * Author: Steven Wee */ #ifndef OCIEXCEPTION_H_ #define OCIEXCEPTION_H_ #include "Common.h" #include "Exception.h" class OCIException : public Exception { public: OCIException(sb4 errno); OCIException(sb4 errno, char * errfunc); OCIException(sb4 errno, dvoid * erroci); OCIException(sb4 errno, dvoid * erroci, char * errfunc); char * GetErrMsg(); char * GetErrFunc(); int GetErrNo(); private: void CheckError(sb4 errno); void CheckError(sb4 errno, dvoid * erroci); }; #endif /* OCIEXCEPTION_H_ */ /* * OCIException.cpp * * Created .: Mar 1, 2009 * Author: Steven Wee */ #include "OCIException.h" void OCIException::CheckError(sb4 errno) { text errBuff[512]; switch ( errno ) { case OCI_SUCCESS: break; case OCI_SUCCESS_WITH_INFO: sprintf( this ->m_sErrBuff, "OCI_SUCCESS_WITH_INFO" ); break; case OCI_NEED_DATA: sprintf( this ->m_sErrBuff, "OCI_NEED_DATA" ); break; case OCI_NO_DATA: sprintf( this ->m_sErrBuff, "OCI_NO_DATA" ); break; case OCI_ERROR: sprintf( this ->m_sErrBuff, "OCI_ERROR" ); break; case OCI_INVALID_HANDLE: sprintf( this ->m_sErrBuff, "OCI_INVALID_HANDLE" ); 拥有帝国一切,皆有可能。欢迎访问phome.net break; case OCI_STILL_EXECUTING: sprintf( this ->m_sErrBuff, "OCI_STILL_EXCUTING" ); break; case OCI_CONTINUE: sprintf( this ->m_sErrBuff, "OCI_CONTINUE" ); break; default: break; } } void OCIException::CheckError(sb4 errno, dvoid * erroci) { text errBuff[512]; switch ( errno ) { case OCI_SUCCESS: break; case OCI_SUCCESS_WITH_INFO: sprintf( this ->m_sErrBuff, "OCI_SUCCESS_WITH_INFO" ); break; case OCI_NEED_DATA: sprintf( this ->m_sErrBuff, "OCI_NEED_DATA" ); break; case OCI_NO_DATA: sprintf( this ->m_sErrBuff, "OCI_NO_DATA" ); break; case OCI_ERROR: OCIErrorGet( (dvoid*)erroci, (ub4)1, (text*)NULL, &this ->m_iErrNo, errBuff, (ub4)sizeof(errBuff), OCI_HTYPE_ERROR); sprintf( this ->m_sErrBuff, "%.*s", strlen((char*) errBuff) - 1, errBuff); break; case OCI_INVALID_HANDLE: sprintf( this ->m_sErrBuff, "OCI_INVALID_HANDLE" ); break; case OCI_STILL_EXECUTING: sprintf( this ->m_sErrBuff, "OCI_STILL_EXCUTING" ); break; case OCI_CONTINUE: sprintf( this ->m_sErrBuff, "OCI_CONTINUE" ); break; default: break; } } OCIException::OCIException(sb4 errno) : Exception( (int)errno ) { this ->CheckError(errno); } OCIException::OCIException(sb4 errno, char * errfunc) : Exception( (int)errno ) { strcpy( this ->m_sErrBuff, errfunc); this ->CheckError(errno); } OCIException::OCIException(sb4 errno, dvoid * erroci) : Exception( (int)errno ) { this ->CheckError(errno, |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: linux中文乱码怎么办下一篇: Ubuntu软件安装方法
关于Linux下使用C/C 访问数据库的所有评论