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

📄 mdealdk.c

📁 电力与银行通讯的源码 1.应用tuxedo中间件. 2.与银行的前置机通讯. 3.proc*c 的应用
💻 C
字号:
/*	MDEALDK:根据一定参数创建-变更-取消客户代扣关系	Input : 		1	参数类别	1	1- 创建							2- 变更							3- 取消							0- 查询		2	银行编号	2			3	客户编号	10			4	银行帐号	44		5	客户名称	50	Output: 		1	返回状态(可以转换成int型) 8	>0-操作成功,返回查询到的记录数										 0-操作成功,无符合条件的记录;										<0-失败		2	银行编号	2		3	客户编号	10		4	银行帐号	44		5	客户名称	50*/#include "public.h"#define SIZE_OF_MAIN 106	/*主结构的大小*/#define MAX_RESULT	100		/*最大的结果数,如不是强制处理,则大于该数则不处理*/#ifdef __cplusplusextern "C"#endifvoid#ifdef MW_CICSmain(MW_SVCINFO * transb)#endif#ifdef MW_TUXEDOMDEALDK(MW_SVCINFO * transb)#endif{	/*定义输入参数*/	char sz_in_DealType[2] = "";  /*处理类型*/	char sz_in_BankCode[3] = "";  /*银行序号*/    char sz_in_KHBH[11] = "";     /*客户编号*/	char sz_in_ZH[45] = "";	      /*银行帐号*/    char sz_in_HM[51] = "";       /*户    名*/	/*定义输出参数*/	char *szResult ;		      /*主要信息结果集*/	int  iReturn = 0;	      /*结果记录数*/	char sz_out_BankCode[3] = ""; /*银行序号*/    char sz_out_KHBH[11] = "";    /*客户编号*/	char sz_out_ZH[45] = "";	  /*银行帐号*/    char sz_out_HM[51] = "";      /*户    名*/	/*定义临时变量*/	char szSql[1000]="";	char szTemp[200] = "";	void *ppVar[6];	char *szInBuf;	char *szOutBuf;	int  nBufferSize = 0;	unsigned char pParam[] = TYPE_CHAR TYPE_CHAR TYPE_CHAR TYPE_CHAR TYPE_CHAR TYPE_INT;	int nStatus = 0;	char szMsg[255];	int i;	BOOL bRet;	CMiddleWare mwMidWare;	MW_Init(&mwMidWare,transb);	szInBuf = MW_GetInBuf(&mwMidWare);	if (szInBuf == NULL)	{		gf_Return(&mwMidWare,-1,"服务名:MDEALDK,错误信息:没有输入参数!");		return;	}	/*取输入参数:1:2:10:44:50*/	 MW_Trace(szInBuf);	strncpy(sz_in_DealType,szInBuf,1);	sz_in_DealType[1] = '\0';	strncpy(sz_in_BankCode,szInBuf + 1,2);	sz_in_BankCode[2] = '\0';	strncpy(sz_in_KHBH,szInBuf + 3,10);	sz_in_KHBH[10] = '\0';	strncpy(sz_in_ZH,szInBuf + 13,44);	sz_in_ZH[44] = '\0';	strncpy(sz_in_HM,szInBuf + 57,50);	sz_in_HM[50] = '\0';    /*-------------*/       /*MW_Trace(sz_in_DealType);	MW_Trace(sz_in_BankCode);	MW_Trace(sz_in_KHBH);	MW_Trace(sz_in_ZH);	MW_Trace(sz_in_HM);*/    /*-------------*/	if (sz_in_DealType[0]=='0' )		nBufferSize = SIZE_OF_MAIN;	else 		nBufferSize = 0;	MW_AllocateString(&mwMidWare,nBufferSize + 8);	/*最大设置32K的空间*/	szOutBuf = MW_GetOutBuf(&mwMidWare);	/*-------------*/	MW_Trace(szOutBuf);	/*-------------*/	if (szOutBuf == NULL)	{		gf_Return(&mwMidWare,-1,"服务名:MDEALDK,错误信息:分配空间失败!");		return;	}	if (sz_in_DealType[0]=='0') 	{		ppVar[0] = sz_out_BankCode;		ppVar[1] = sz_out_KHBH;		ppVar[2] = sz_out_ZH;		ppVar[3] = sz_out_HM;		sprintf(szSql,"select substring(isnull(YHDM,''),1,2),KHBH,isnull(ZHANGHAO,''),HM from Y_KHXX where KHBH=%1s%10s%1s","'",sz_in_KHBH,"'");		/*---------------*/        MW_Trace(szSql);        /*---------------*/		if(!DB_SQLPrepare(&theDatabase, szSql, ppVar, 4))		{			sprintf(szMsg,"服务名:MDEALDK,错误信息:SQL = %s Prepare失败!",szSql);			gf_Return(&mwMidWare,-1,szMsg);			return;		}		if (DB_SQLFetch(&theDatabase) == TRUE)		{			szResult=szOutBuf+8;			sprintf(szTemp,"%2s%10s%44s%50s",sz_out_BankCode,sz_out_KHBH,sz_out_ZH,sz_out_HM);			memcpy(szResult,szTemp,SIZE_OF_MAIN);					iReturn=1;			sprintf(szTemp,"%8d",iReturn);		    memcpy(szOutBuf,szTemp,8);			DB_SQLDone(&theDatabase);			gf_Return(&mwMidWare,0,"");			return;		}		else		{			DB_SQLDone(&theDatabase);			gf_Return(&mwMidWare,-400,"");			return;		}		DB_SQLDone(&theDatabase);	}    else	{		iReturn=0;		ppVar[0] = &iReturn;				/*执行存储过程*/		bRet = DB_ExecuteStoredProcedureWithResult(&theDatabase, "Up_c_bank_dealdk", &nStatus, 			ppVar,1,			pParam,sz_in_DealType,sz_in_BankCode,sz_in_KHBH,sz_in_ZH,sz_in_HM,0);		if(!bRet || nStatus)		{			if (iReturn>=0)   iReturn=-1;			DB_SQLDone(&theDatabase);			gf_Return(&mwMidWare,iReturn,"服务名:MDEALDK,错误信息:执行存储过程Up_c_bank_dealdk失败");			return;		}		sprintf(szTemp,"%8d",iReturn);		memcpy(szOutBuf,szTemp,8);		/*输出结果*/		DB_SQLDone(&theDatabase);		gf_Return(&mwMidWare,iReturn,"");		return;	}}

⌨️ 快捷键说明

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