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

📄 dblibrarymsg.h

📁 VC下通过DB-LIBRARYDE的API函数操作SQLSERVER数据库.
💻 H
字号:
//int msgCount=0;
#ifndef SYS_MSG_H
#define SYS_MSG_H

//#define MAXPROCS 25
int dbproc_status[MAXPROCS];//dbprocess 状态 0 表示无效,1表示空闲,2表示忙

typedef struct ErrStruct{
		INT serverity;
		INT dberr;
		INT oserr;
		LPCSTR dberrstr;
		LPCSTR oserrstr;
	} ERR;
	ERR SYSERR;
char msgbuf[1024];
char curbuf[1024];
int msgcode;
int Err_Handle(DBPROCESS *dbproc,INT severity,INT dberr,INT oserr,LPCSTR dberrstr,LPCSTR oserrstr)
{
	SYSERR.serverity=severity;
	SYSERR.dberr=dberr;
	SYSERR.oserr=oserr;
	SYSERR.dberrstr=dberrstr;
	SYSERR.oserrstr=oserrstr;
	return INT_CANCEL;
	
}

typedef struct MsgStruct
{
	DBINT msgno;
	INT msgstate;
	INT severity;
	LPCSTR msgtext;
	LPCSTR srvname;
	LPCSTR procname;
	DBUSMALLINT line;
} SQLMSG;
SQLMSG SYSMSG;
int Msg_Handle(DBPROCESS *dbproc,DBINT msgno,INT msgstate,
			   INT severity,LPCSTR msgtext,LPCSTR srvname,
			   LPCSTR procname,DBUSMALLINT line)
{
	SYSMSG.msgno=msgno;
	msgcode=msgno;
	if (msgno==5701) return 0;
	if(curbuf[0]==0)
	{
	//sprintf(curbuf,"消息号:%d, 级别:%d, 状态:%d, 行:%d\n%s\n",
	    sprintf(curbuf,"来自%s的消息 消息号:%d, 级别:%d, 状态:%d, 行:%d\n%s\n",
			srvname,msgno,severity,msgstate,line,msgtext);
	}
	else
	{
		char curMsg[250];
		sprintf(curMsg,"消息号:%d, 级别:%d, 状态:%d, 行:%d\n%s",
			msgno,severity,msgstate,line,msgtext);
		strcat(curbuf,curMsg);
	}
	
	return 0;
}
//错误级别定义
char *svrty[]={
	" ",
	"警告,非严重错误",
	"用户导致的错误",
	"非致命错误",
	"DB-Library数据类型转换时发生错误",
	"服务器已返回了错误标记",
	"等待服务器响应超时,但DBPROCESS仍然有效",
	"用户程序代码错误",
	"资源用尽,DBPROCESS可能无效",
	"与服务器通信时发生错误,DBPROCESS已经无效",
	"致命错误,DBPROCESS已经无效",
	"系统软件内部发生错误"
};

char *GetErr()
{
/*	sprintf(errbuf,"错误级别:%d,错误号:%d,消息:%s",SYSERR.serverity,SYSERR.dberr,SYSERR.dberrstr);
	if (SYSERR.oserr != DBNOERR)
	{
		sprintf(errbuf,"错误级别:%d,错误号:%d,消息:%s",SYSERR.serverity,SYSERR.oserr,SYSERR.oserrstr);
	}
	/*if (strlen(SYSMSG.msgtext)>0)
		strcat(errbuf,SYSMSG.msgtext);
		*/
	//msgCount=0;
	sprintf(msgbuf,"%s",curbuf);
	curbuf[0]=0;
	return msgbuf;
}
int GetMsgCode()
{
	return msgcode;
}
int SetMsg(char *msg)
{
	//msgCount=0;
	sprintf(msgbuf,"%s",msg);
	return 1;
}
#endif //SYS_MSG_H

⌨️ 快捷键说明

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