📄 mdealdk.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 + -