📄 dberr.h
字号:
// DBErr.h: interface for the DBErr class.
//
//////////////////////////////////////////////////////////////////////
//#include "dblibrarymsg.h"
#if !defined(AFX_DBERR_H__DC33EED0_CE27_4F87_ADBB_AD614CDA422D__INCLUDED_)
#define AFX_DBERR_H__DC33EED0_CE27_4F87_ADBB_AD614CDA422D__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
extern char msgbuf[1024];
extern char *GetErr();
extern int GetMsgCode();
//extern int SetMsg(char *msg);
#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",
"没有空闲的连接可提供使用",
"未知错误"
};
class DBErr
{
public:
DBErr();
virtual ~DBErr();
//virtual void CheckErr(int code);
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 // !defined(AFX_DBERR_H__DC33EED0_CE27_4F87_ADBB_AD614CDA422D__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -