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

📄 proc.ec

📁 在IBM RS6000小型机上AIX操作系统下INFORMIX数据库C源代码有通讯和管理程序
💻 EC
📖 第 1 页 / 共 3 页
字号:
#include <stdio.h>#include <ctype.h>#include <time.h>#include <curses.h>$include sqlca;$include sqlda;$include sqltypes;#include "def/dlmsg.h"EXEC SQL begin declare section;$include "def/stru.h";$include "/usr/hcdl/online/def/inout.h";EXEC SQL end declare section;proc(socketfd)int socketfd;{	if(rcvmsg(&msg)==1) {   		switch(procm(&msg)){ 		case 0:		case 1:			sndmsg(&msg);			break;		case 2:			sndmsg(&msg);			switch(atoi(msg.flag)){			case 1:			       sndbuf(&oper_msg,sizeof(oper_file));break;			case 2:			       sndbuf(&ljls_msg,sizeof(ljls_file));break;			case 3:			       sndbuf(&lsls_msg,sizeof(lsls_file));break;                        case 4:                               sndbuf(&wtdw_msg,sizeof(wtdw_file));break;                        case 5:                               sndbuf(&lskz_msg,sizeof(lskz_file));break;                        case 6:                               sndbuf(&jjdm_msg,sizeof(jjdm_file));break;                        case 7:                               sndbuf(&fktl_msg,sizeof(fktl_file));break;                        case 8:                               sndbuf(&jjfk_msg,sizeof(jjfk_file));break;                        case 9:                               sndbuf(&xjzz_msg,sizeof(xjzz_file));break;                        case 10:                               sndbuf(&cxsz_msg,sizeof(cxsz_file));break;                        case 11:                               sndbuf(&funa_msg,sizeof(funa_file));break;                        case 14:                               sndbuf(&dslx_msg,sizeof(dslx_file));break;                        case 15:                               sndbuf(&xfmx_msg,sizeof(xfmx_file));break;                        case 16:                               sndbuf(&wtzl_msg,sizeof(wtzl_file));break;                        case 17:                               sndbuf(&shzh_msg,sizeof(shzh_file));break;                        case 18:                               sndbuf(&phwt_msg,sizeof(phwt_file));break;                        case 19:                               sndbuf(&phls_msg,sizeof(phls_file));break;                        case 20:                               sndbuf(&phdk_msg,sizeof(phls_file));break;                        case 21:                               sndbuf(&djgy_msg,sizeof(djgy_file));break;                        case 22:                               sndbuf(&sfjzh_msg,sizeof(sfjzh_file));break;                        case 23:                               sndbuf(&sfjxm_msg,sizeof(sfjxm_file));break;			default:break;			}			break;		case 3:			sndmsg(&msg);			sndfp(sndname);			break;		default:			break;		}	}	return(1);}procm(msg)DL_MSG *msg;{   if(memcmp(msg->trancode,"01",2)==0)	return(proc01(msg));   if(memcmp(msg->trancode,"04",2)==0)	return(proc04(msg));   if(memcmp(msg->trancode,"11",2)==0)	return(proc11(msg));   if(memcmp(msg->trancode,"12",2)==0)	return(proc12(msg));   if(memcmp(msg->trancode,"13",2)==0)	return(proc13(msg));   if(memcmp(msg->trancode,"14",2)==0)	return(proc14(msg));   if(memcmp(msg->trancode,"15",2)==0)	return(proc15(msg));   if(memcmp(msg->trancode,"21",2)==0)	return(proc21(msg));   if(memcmp(msg->trancode,"22",2)==0)	return(proc22(msg));   if(memcmp(msg->trancode,"30",2)==0)	return(proc30(msg));   if(memcmp(msg->trancode,"31",2)==0)	return(proc31(msg));   if(memcmp(msg->trancode,"40",2)==0)	return(proc40(msg));   if(memcmp(msg->trancode,"42",2)==0)	return(proc42(msg));   if(memcmp(msg->trancode,"43",2)==0)	return(proc43(msg));   if(memcmp(msg->trancode,"47",2)==0)	return(proc47(msg));   if(memcmp(msg->trancode,"48",2)==0)	return(proc48(msg));   if(memcmp(msg->trancode,"49",2)==0)	return(proc49(msg));   if(memcmp(msg->trancode,"50",2)==0)	return(proc50(msg));   if(memcmp(msg->trancode,"51",2)==0)	return(proc51(msg));   if(memcmp(msg->trancode,"55",2)==0)	return(proc55(msg));   if(memcmp(msg->trancode,"56",2)==0)	return(proc56(msg));   if(memcmp(msg->trancode,"57",2)==0)	return(proc57(msg));   if(memcmp(msg->trancode,"70",2)==0)	return(proc70(msg));   if(memcmp(msg->trancode,"71",2)==0)	return(proc71(msg));   if(memcmp(msg->trancode,"72",2)==0)	return(proc72(msg));   if(memcmp(msg->trancode,"73",2)==0)	return(proc73(msg));   if(memcmp(msg->trancode,"80",2)==0)	return(proc80(msg));   if(memcmp(msg->trancode,"90",2)==0)	return(proc90(msg));   if(memcmp(msg->trancode,"95",2)==0)	return(proc95(msg));   if(memcmp(msg->trancode,"91",2)==0)	return(proc91(msg));   if(memcmp(msg->trancode,"93",2)==0)	return(proc93(msg));   if(memcmp(msg->trancode,"96",2)==0)	return(proc96(msg));   if(memcmp(msg->trancode,"98",2)==0)	return(proc98(msg));   if(memcmp(msg->trancode,"99",2)==0)	return(proc99(msg));}proc04(msg) /* check passwd */DL_MSG *msg;{	$char oper_code[3];	$char oper_level[2];	$char oper_passwd[7];	$char oper_name[9];	long date;           memset(msg->rc,' ',2);	memset(oper_level,'\0',2);	memset(oper_code,'\0',3);	memset(oper_passwd,'\0',7);	memcpy(oper_code,msg->teller,2);	memcpy(oper_passwd,msg->passwd1,6);	     $select oper_level,oper_name into $oper_level,$oper_name from operater_arch where oper_code=$oper_code and oper_passwd=$oper_passwd;	if (sqlca.sqlcode != 0) {		memcpy(msg->rc,PATR_PS,2);		return(0);	}	        rtoday(&date);	rfmtdate(date,"yyyy/mm/dd",msg->passwd2);	memcpy(msg->temp,oper_name,8);	memcpy(msg->rc,PATR_OK,2);	return(1);}proc11(msg)/*增加*/ DL_MSG *msg;{        int check;        $char op_code[3];        $char oper_l[2];        $float qcjy;        double atof();	memset(msg->rc," ",2);	switch(atoi(msg->flag)){	case 1:	memset(&oper_msg,0,sizeof(oper_file));	if(rcvbuf(&oper_msg,sizeof(oper_file))<0){	memcpy(msg->rc,PATR_INSERT);return(0);}	break;	case 2:	memset(&jjdm_msg,0,sizeof(jjdm_file));	if(rcvbuf(&jjdm_msg,sizeof(jjdm_file))<0){	memcpy(msg->rc,PATR_INSERT);return(0);}	break;	case 3:	memset(&fktl_msg,0,sizeof(fktl_file));	if(rcvbuf(&fktl_msg,sizeof(fktl_file))<0){	memcpy(msg->rc,PATR_INSERT);return(0);}	break;	case 4:	memset(&wtdw_msg,0,sizeof(wtdw_file));	if(rcvbuf(&wtdw_msg,sizeof(wtdw_file))<0){	memcpy(msg->rc,PATR_INSERT);return(0);}	break;	case 11:	memset(&funa_msg,0,sizeof(funa_file));	if(rcvbuf(&funa_msg,sizeof(funa_file))<0){	memcpy(msg->rc,PATR_INSERT);return(0);}	break;	case 14:	memset(&dslx_msg,0,sizeof(dslx_file));	if(rcvbuf(&dslx_msg,sizeof(dslx_file))<0){	memcpy(msg->rc,PATR_INSERT);return(0);}	break;	case 17:	memset(&shzh_msg,0,sizeof(shzh_file));	if(rcvbuf(&shzh_msg,sizeof(shzh_file))<0){	memcpy(msg->rc,PATR_INSERT);return(0);}	break;	case 21:	memset(&djgy_msg,0,sizeof(djgy_file));	if(rcvbuf(&djgy_msg,sizeof(djgy_file))<0){	memcpy(msg->rc,PATR_INSERT);return(0);}	break;	case 22:	memset(&sfjzh_msg,0,sizeof(sfjzh_file));	if(rcvbuf(&sfjzh_msg,sizeof(sfjzh_file))<0){	memcpy(msg->rc,PATR_INSERT);return(0);}	break;	case 23:	memset(&sfjxm_msg,0,sizeof(sfjxm_file));	if(rcvbuf(&sfjxm_msg,sizeof(sfjxm_file))<0){	memcpy(msg->rc,PATR_INSERT);return(0);}	break;	default:break;	}	memset(op_code,'\0',3);        strmove(op_code,msg->teller,2);	    $select oper_level into $oper_l from operater_arch where oper_code=$op_code;         check=fun_check(msg->teller,"proc11",oper_l);         if(check==1){memcpy(msg->rc,PATR_WCCX,2);return(0);}         if(check==2){memcpy(msg->rc,PATR_WQ,2);return(0);}         if(check==3){memcpy(msg->rc,PATR_QTB,2);return(0);}         if(check==4){memcpy(msg->rc,PATR_XGC,2);return(0);}$begin work;         switch(atoi(msg->flag)){	case 1:  	 $select unique oper_code              from operater_arch   	      where oper_code=$oper_msg.oper_code;	break;	case 2:  	 $select unique dm              from jjdmb   	      where dm=$jjdm_msg.dm;	break;	case 3:  	 $select unique dm              from fktlb   	      where dm=$fktl_msg.dm;	break;	case 4:  	 $select unique dwdm              from wtdwb   	      where dwdm=$wtdw_msg.dwdm;	break;	case 11:  	 $select unique fun_n              from fun_adm   	      where fun_n=$funa_msg.fun_n;	break;	case 14:  	 $select unique dslx              from dslxb   	      where dslx=$dslx_msg.dslx;	break;	case 17:  	 $select unique sh               from shzhb   	      where sh=$shzh_msg.sh;	break;	case 21:  	 $select unique gyh               from djgyb   	      where gyh=$djgy_msg.gyh;	break;	case 22:  	 $select unique sfdwzh               from sfjzhb   	      where sfdwzh=$sfjzh_msg.sfdwzh;	break;	case 23:  	 $select unique sfxm               from sfjxmb   	      where sfxm=$sfjxm_msg.sfxm;	break;	default:break;	}	if(sqlca.sqlcode==0)        {	memcpy(msg->rc,PATR_CF,2);        $rollback work;        return(0);	}	switch(atoi(msg->flag)){	case 1:        $insert into  operater_arch values($oper_msg);	break;	case 2:        $insert into  jjdmb values($jjdm_msg);	case 3:        $insert into  fktlb values($fktl_msg);	break;	case 4:        $insert into  wtdwb values($wtdw_msg);	break;	case 11:        $insert into fun_adm values($funa_msg);	break;	case 14:        $insert into dslxb values($dslx_msg);	break;	case 17:        $insert into shzhb values($shzh_msg);	break;	case 21:        $insert into djgyb values($djgy_msg);	break;	case 22:        qcjy=atof(sfjzh_msg.qcjy);        $insert into sfjzhb (sfdwzh,sfdwmc,qcjy) values($sfjzh_msg.sfdwzh,$sfjzh_msg.sfdwmc,$qcjy);	break;	case 23:        $insert into sfjxmb values($sfjxm_msg);	break;	default:break;	}	if(sqlca.sqlcode!=0) {printf("sql=%d",sqlca.sqlcode);		memcpy(msg->rc,PATR_INSERT,2);		$rollback work;		return(0);	  } 	else {		$commit work;		memcpy(msg->rc,PATR_OK,2);		return(1);	}     }proc12(msg)/*查询*/DL_MSG *msg;{	int flag_f=0,i;	$long whee;	$char str[301],da[11];	char str1[301],amt[25];	memset(msg->rc," ",2);	memset(str1,'\0',301);	strmove(str1,msg->temp,300);sprintf(str,"select * from %s %s order by %s",msg->table,str1,msg->order);        $prepare s_1 from $str;	$declare cur_cur scroll cursor for  s_1 ;	$open cur_cur;	if (sqlca.sqlcode != 0) {		memcpy(msg->rc,PATR_CXERR,2);		return (0);	}	 switch(atoi(msg->next_pre)){	case 1:		whee=atol(msg->point)+1;break;	case 2:		whee=atol(msg->point)-1;break;	default:		whee=atol(msg->point);break;	}	switch(atoi(msg->flag)){	case 1: 		$fetch ABSOLUTE $whee cur_cur into $oper_msg;		break;	case 2: $fetch ABSOLUTE $whee cur_cur into $ljls_msg;		break;	case 3: $fetch ABSOLUTE $whee cur_cur into $lsls_msg;		break;	case 4: $fetch ABSOLUTE $whee cur_cur into $wtdw_msg;		break;	case 5: $fetch ABSOLUTE $whee cur_cur into $lskz_msg;		break;	case 6: $fetch ABSOLUTE $whee cur_cur into $jjdm_msg;		break;	case 7: $fetch ABSOLUTE $whee cur_cur into $fktl_msg;		break;	case 8: $fetch ABSOLUTE $whee cur_cur into $jjfk_msg;		break;	case 9: $fetch ABSOLUTE $whee cur_cur into $xjzz_msg;		break;	case 10: $fetch ABSOLUTE $whee cur_cur into $cxsz_msg;		break;	case 11: $fetch ABSOLUTE $whee cur_cur into $funa_msg;		break;	case 14: $fetch ABSOLUTE $whee cur_cur into $dslx_msg;		break;	case 15: $fetch ABSOLUTE $whee cur_cur into $xfmx_msg;		break;	case 16: $fetch ABSOLUTE $whee cur_cur into $wtzl_msg;		break;	case 17: $fetch ABSOLUTE $whee cur_cur into $shzh_msg;		break;	case 18: $fetch ABSOLUTE $whee cur_cur into $phwt_msg;		break;	case 19: $fetch ABSOLUTE $whee cur_cur into $phls_msg;		break;	case 20: $fetch ABSOLUTE $whee cur_cur into $phdk_msg;		break;	case 21: $fetch ABSOLUTE $whee cur_cur into $djgy_msg;		break;	case 22: $fetch ABSOLUTE $whee cur_cur into $sfjzh_msg;		break;	case 23: $fetch ABSOLUTE $whee cur_cur into $sfjxm_msg;		break;	default:break;	}	if (sqlca.sqlcode != 0) flag_f=1;	$close cur_cur;	$free cur_cur;	if( flag_f==1 ) {		memcpy(msg->rc,PATR_CXNO,2);		return(0);	} 	switch(atoi(msg->next_pre)){	case 1: sprintf(msg->point,"%d",atol(msg->point)+1);break;	case 2: sprintf(msg->point,"%d",atol(msg->point)-1);break;	default:break;	}	memcpy(msg->rc,PATR_OK,2);	return(2);}proc13(msg)/*修改*/ DL_MSG *msg;{        $float qcjy;        double atof();	memset(msg->rc," ",2);        switch(atoi(msg->flag)){	case 1:             memset(&oper_msg,0,sizeof(oper_file));	     if(rcvbuf(&oper_msg,sizeof(oper_file))<0){	     memcpy(msg->rc,PATR_UPDATE);return(0);}	    break;	case 2:/*jjdm*/             memset(&jjdm_msg,0,sizeof(jjdm_file));	     if(rcvbuf(&jjdm_msg,sizeof(jjdm_file))<0){	     memcpy(msg->rc,PATR_UPDATE);return(0);}	    break;	case 3:/*fktl*/             memset(&fktl_msg,0,sizeof(fktl_file));	     if(rcvbuf(&fktl_msg,sizeof(fktl_file))<0){	     memcpy(msg->rc,PATR_UPDATE);return(0);}	    break;	case 4:             memset(&wtdw_msg,0,sizeof(wtdw_file));	     if(rcvbuf(&wtdw_msg,sizeof(wtdw_file))<0){	     memcpy(msg->rc,PATR_UPDATE);return(0);}	    break;	case 11:             memset(&funa_msg,0,sizeof(funa_file));	     if(rcvbuf(&funa_msg,sizeof(funa_file))<0){	     memcpy(msg->rc,PATR_UPDATE);return(0);}	    break;	case 14:             memset(&dslx_msg,0,sizeof(dslx_file));	     if(rcvbuf(&dslx_msg,sizeof(dslx_file))<0){	     memcpy(msg->rc,PATR_UPDATE);return(0);}	    break;	case 17:

⌨️ 快捷键说明

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