cdberror.h

来自「学校两基管理系统」· C头文件 代码 · 共 151 行

H
151
字号
/* Generated by Together */

#ifndef CDBERROR_H
#define CDBERROR_H

#define ERR_DBSYS	-1   //数据库系统错误

#define ERR_NO_FIND_COL				-100//找不到指定的列对象
#define ERR_COLTYPE_NOT_MATCHING	-101//指定的列类型与变量类型不匹配
#define ERR_NO_INIT_BUFF			-102//读取数据前没有进行初始化
#define ERR_NO_FIND_COMPUTEID		-103 //无法获取指定的计算列的COMPUTE子句标识号
#define ERR_NO_FIND_COMPUTECOLS		-104 //无法获取计算列的列数


#define ERR_BATCH_COPY_INIT			-105 //批拷贝初始化失败
#define ERR_BATCH_COPY_CONTROL		-106 //批拷贝设置参数失败
#define ERR_BATCH_COPY_COLSET		-107 //设置列数失败
#define ERR_BATCH_COPY_FORMAT		-108 //设置表列格式失败
#define ERR_BATCH_COPY_EXEC			-109 //批拷贝执行失败
#define ERR_BCP_SEND_ROW			-110 //批拷贝发送数据失败
#define ERR_BCP_SAVE_DONE			-111 //批拷贝保存失败
#define ERR_BCP_SAVE_BATCH			-112 //批拷贝保存失败
#define ERR_BCP_BIND_COL			-113 //批拷贝无法绑定数据列
#define ERR_BCP_MORETEXT			-114 //批拷贝执行MORETEXT函数失败

#define ERR_PROC_INIT               -115 //存储过程初始化失败
#define ERR_PROC_PARAM				-116 //存储过程参数初始化失败
#define ERR_PROC_SEND				-117 //执行存储过程失败
#define ERR_PROC_LOCK				-118 //无法锁定
#define ERR_PROC_RESULT				-119 //存储过程结果错误

#define ERR_TRANS_BEGIN				-120 // BeginTransaction failed: %x\n
#define ERR_TRANS_LIST				-121 //dbenlisttrans() failed: %x\n",rc
#define ERR_TRANS_COMMIT			-122//pTransaction->Commit() failed: %x
#define ERR_TRANS_RELEASE			-123//释放事务失败
#define ERR_TRANS_COMMIT_RELEASE	-124//提交事务与释放事务同时失败
#define ERR_TRANS_FREE				-125//"提交成功后释放事务失败."
#define ERR_TRANS_ABORT				-126//pTransaction->Release() failed
#define ERR_TRANS_ROLLBACK_RELEASE  -127//"回滚事务后释放事务失败."
#define ERR_DTC_MANAGER				-128//DtcGetTransactionManager failed: %x\n", hr

#define ERR_MAX_SQLSTR				-129//SQL语句长度大于%d个字符
#define ERR_SQL_CMD					-130//dbcmd err
#define ERR_SQL_RESULTS				-131//dbresults error
#define ERR_BIND_DATABASE_FAIL		-132 //打开数据库出库
#define ERR_RESULTS_NOCOLS			-133 //返回0列数据
#define ERR_RESULTS_NOROWS			-134 //返回0行数据
#define ERR_CANCEL_RESULTS			-135 //dbcancel failed
#define ERR_NONE_FREE_DBPROCESS		-136 //没有空闲的DBPROCESS
#define ERR_UNKNOW					-137//未知错误
static char *ERR_MSG[]={
"找不到指定的列对象'%s' ",
"指定的列'%s'类型与变量类型不匹配",
"读取数据前没有进行初始化",
"无法获取指定的计算列%s的COMPUTE子句标识号",
"无法获取计算列%s",

"批拷贝初始化失败",
"批拷贝设置参数失败",
"设置列数失败",
"设置表列格式失败",
"批拷贝执行失败",
"批拷贝发送数据失败",
"批拷贝保存失败",
"批拷贝保存失败",
"批拷贝无法绑定数据列'%s' ",
"批拷贝执行MORETEXT函数失败",

"存储过程初始化失败",
"存储过程参数初始化失败",
"执行存储过程失败",
"无法锁定存储过程",
"存储过程结果错误",

"开始事务失败",
"dbenlisttrans() failed",
"事务提交失败",
"释放事务失败",
"提交事务与释放事务同时失败",
"提交成功后释放事务失败.",
"pTransaction->Release() failed",
"回滚事务后释放事务失败.",
"DTC事务管理器无法启动",

"SQL语句长度大于%s个字符",
"执行缓冲区中的命令失败",
"dbresults() failed",
"打开数据库%s失败",
"%s返回0列数据",
"%s返回0行数据",
"dbcancel() failed",
"没有空闲的连接可提供使用",
"未知错误"
};

extern char msgbuf[];
extern char *GetErr();
class CDBError {
public:

    CDBError(){};    

    ~CDBError(){};

private:
    char filen[50];
	int errcode;
	int lineid;
	bool AutoThrow;

public:
    void SetAutoThrow(bool bvl) 
	{
        AutoThrow=bvl;
    };
    void SetErrMsg(char *msg)
	{
        strcpy(msgbuf,msg);
    };
    void SetErrCode(int code) 
	{
        errcode=code;
    };
    int GetErrCode()
	{
        return errcode;
	}
    void GetLastErr(int &code,char **buf)
	{
        code=errcode;
        if(errcode==ERR_DBSYS)
            *buf=GetErr();
            
        else *buf=(char *)msgbuf; 
	};
    void SetErrPos(int line,char *fn)
	{
        lineid=line;
        strcpy(filen,fn);
    }
    void GetErrPos(int &line,char **fn)
	{
        line=lineid;
        *fn=(char *)filen;
	}
    bool GetAutoThrow()
	{
        return AutoThrow;
	}
};
#endif //CDBERROR_H

⌨️ 快捷键说明

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