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

📄 wzbase.h

📁 这是一个可供他人调用的动态连接库
💻 H
字号:
#if !defined(MYSTRU_H)
#define MYSTRU_H

#include <windows.h>
#include <stdio.h>
#include <sql.h>
#include <sqlext.h>

#define BASE_LOGON
#define LOGON		//日志开关

#define BASE_CONFIG	".\\basecfg.ini"	//配置文件名

//配置文件的缺省值
#define BASE_BASE "CCDB"
#define BASE_USER "sa"
#define BASE_PASS ""
#define BASE_MAXC "4"
#define LOG_LEVEL "0"
#define DELEVERYDAY "Y"
#define BASE_SQLTYPE "7.0"
#define COMM 10000	//动态库的LOG信息

// SQL Server Data Type Tokens. Returned by SQLColAttributes/SQL_CA_SS_COLUMN_SSTYPE.
#define SQLTEXT 			0x23
#define SQLVARBINARY		0x25
#define SQLINTN 			0x26
#define SQLVARCHAR			0x27
#define SQLBINARY			0x2d
#define SQLIMAGE			0x22
#define SQLCHARACTER		0x2f
#define SQLINT1 			0x30
#define SQLBIT				0x32
#define SQLINT2 			0x34
#define SQLINT4 			0x38
#define SQLMONEY			0x3c
#define SQLDATETIME 		0x3d
#define SQLFLT8 			0x3e
#define SQLFLTN 			0x6d
#define SQLMONEYN			0x6e
#define SQLDATETIMN 		0x6f
#define SQLFLT4 			0x3b
#define SQLMONEY4			0x7a
#define SQLDATETIM4 		0x3a
#define SQLDECIMAL			0x37
#define SQLDECIMALN			0x6a
#define SQLNUMERIC			0x3f
#define SQLNUMERICN 		0x6c
#ifndef __FUNCTION_CALL_H__
#define __FUNCTION_CALL_H__

#define RET_HANDLE_NULL 0

#define MAXLEN	80  
#define MAXCOLS 24
#define MAXROWS 64
#define MAXNAME 32
#define MAXPARAMETER 24

struct RTARRAY{
	int     iRow;  				//行
	int 	iCol;				//列
	char    Array[MAXROWS][MAXCOLS][MAXLEN];//结果集
};

struct RTVOID{
	int     iNumber;  				//uType型数据的个数
	int 	iUnused;				//未用
	BYTE    btVoid[MAXROWS*MAXCOLS*MAXLEN];//uType型数据的缓冲区
};

union RETDATA{
	RTVOID rtVoid;
	RTARRAY rtArray;
};

struct PARACOL{
	int iColumn;//parameter number 
	int iOut;//out parameter number----only used in edau export
	char Array[MAXPARAMETER][MAXLEN];
};
struct PARAVOID{
	int iNumber;//uType data number
	int iUnused;
	BYTE btVoid[MAXPARAMETER*MAXLEN];
};
union PARADATA{
	PARACOL prCol;
	PARAVOID prVoid;
};

typedef struct _S_RESULT_
{
	int		iRet;				//执行结果
	int		bHasNext;			//是否还有结果集
	int		iRetHandle;			//未完的结果集的句柄
	int     iSid;				//会话号
	int 	bHasRet;			//是否有结果集
	char	szKey[MAXLEN];		//加密
	char	szErrCode[8];		// 可存放券商返回的错误号,作为返回值的扩展
	char    szErrMsg[MAXLEN];	//错误信息,用于存放券商返回的信息
	UINT	uType;				//==0:	retData为RTARRAY.
								//>=1:	retData 为RTVOID.
	RETDATA retData;
} Result, * pResult;

typedef struct _S_PARM
{
	char szFunction[32];				// function name
	int iMode;							// call mode CM_VOX/CM_FAX/CM_MOD
	int	iRetHandle;			//未完的结果集的句柄
	int bClose;			//是否要关闭该结果集
	UINT uType;
	PARADATA prData;
}Query, * pQuery;

#endif

#define BASE_NAMELEN 32
#define BASE_MAXCONN 16

#define VT_PI    0
#define VT_PB    1
#define VT_PS    2
#define VT_PL    3
#define VT_PD    4
#define VT_PC    5

#define IO_IN   0
#define IO_OUT  64

typedef struct MyVar  
{
	SWORD    vt;
	SWORD    io;
	SDWORD   len;
	union 
	{
		short	*			psVal;						// VT_PS	.
		long	*			plVal;						// VT_PL	.
		int     * 			piVal;						// VT_PI	.
		double	*			pdVal;					    // VT_PD	.
		char    *           pcVal;						// VT_PC	.
		BYTE    *			pbVal;
	};
}MyVar,* MYVARPTR;

struct ResRow{
	SDWORD   len;
	BYTE pbVal[MAXLEN+1];
};
struct MyParams
{
	char    szFunction[BASE_NAMELEN];
	int     VarNum;
	MyVar   pVarArr[MAXPARAMETER];
	BOOL    bHasFet;
	int     FetNum;
	int		RowNum;
	ResRow	pFetArr[MAXCOLS+1];
};

struct CONN
{
	HDBC	 hdbc;
	BOOL	 usedf;
	BOOL	 conned;
	MyParams para;
};

extern CONN ConnArr[BASE_MAXCONN];
extern HENV	 henv;
extern HANDLE   hmutex ;
extern FILE *	 hlog ;
extern char	 base[21];
extern char	 user[21];
extern char	 pass[21];
extern char  levl[21];
extern int	 max;

BOOL WINAPI OutExec(pQuery,pResult);
BOOL ConnInit();
BOOL  Exec(int,pResult);
BOOL GetFet(int,HSTMT,MyParams *,pResult);
BOOL SetPar(int,pQuery);
UWORD DetErr(int,HSTMT,RETCODE);
int GetId();
BOOL ReleaseId(int);
BOOL WINAPI DllMain(HINSTANCE,DWORD,LPVOID);
BOOL InitDll();
BOOL ExitDll();
BOOL BaseLog(int,LPCTSTR,int);

#endif

⌨️ 快捷键说明

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