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

📄 yx1api.c

📁 unix 下用pro*c tuxedo 开发的东西
💻 C
📖 第 1 页 / 共 2 页
字号:
     sqlstm.sqhstl[1] = (unsigned int  )3;
     sqlstm.sqindv[1] = (         short *)0;
     sqlstm.sqharm[1] = (unsigned int  )0;
     sqlstm.sqhstv[2] = (unsigned char  *)&rec_YX_DB.serial_no;
     sqlstm.sqhstl[2] = (unsigned int  )4;
     sqlstm.sqindv[2] = (         short *)0;
     sqlstm.sqharm[2] = (unsigned int  )0;
     sqlstm.sqphsv = sqlstm.sqhstv;
     sqlstm.sqphsl = sqlstm.sqhstl;
     sqlstm.sqpind = sqlstm.sqindv;
     sqlstm.sqparm = sqlstm.sqharm;
     sqlstm.sqparc = sqlstm.sqharc;
     sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
     if (sqlca.sqlcode < 0) sqlerror();
}


	if( ERROR!=0 )
    	{
    		ERROR=0;
    		return(-1);
    	}

    	return(0);
}


int InsertSndTMPDBRec(long serial_no,int groupid,char *yx_Data)
{
    
   	/* EXEC SQL WHENEVER SQLERROR DO sqlerror(); */ 

      
   	/* EXEC SQL INSERT INTO t_zcfssj (fsxh,zh,zcfssj,zzh) VALUES
                   (:serial_no,
                    :groupid,
                    :yx_Data,
                    :total_zh); */ 

{
    struct sqlexd sqlstm;

    sqlstm.sqlvsn = 8;
    sqlstm.arrsiz = 4;
    sqlstm.stmt = "insert into t_zcfssj(fsxh,zh,zcfssj,zzh) values (:b0,:b1,\
:b2,:b3)";
    sqlstm.iters = (unsigned int  )1;
    sqlstm.offset = (unsigned int  )54;
    sqlstm.cud = sqlcud0;
    sqlstm.sqlest = (unsigned char  *)&sqlca;
    sqlstm.sqlety = (unsigned short)0;
    sqlstm.sqhstv[0] = (unsigned char  *)&serial_no;
    sqlstm.sqhstl[0] = (unsigned int  )4;
    sqlstm.sqindv[0] = (         short *)0;
    sqlstm.sqharm[0] = (unsigned int  )0;
    sqlstm.sqhstv[1] = (unsigned char  *)&groupid;
    sqlstm.sqhstl[1] = (unsigned int  )4;
    sqlstm.sqindv[1] = (         short *)0;
    sqlstm.sqharm[1] = (unsigned int  )0;
    sqlstm.sqhstv[2] = (unsigned char  *)yx_Data;
    sqlstm.sqhstl[2] = (unsigned int  )0;
    sqlstm.sqindv[2] = (         short *)0;
    sqlstm.sqharm[2] = (unsigned int  )0;
    sqlstm.sqhstv[3] = (unsigned char  *)&total_zh;
    sqlstm.sqhstl[3] = (unsigned int  )4;
    sqlstm.sqindv[3] = (         short *)0;
    sqlstm.sqharm[3] = (unsigned int  )0;
    sqlstm.sqphsv = sqlstm.sqhstv;
    sqlstm.sqphsl = sqlstm.sqhstl;
    sqlstm.sqpind = sqlstm.sqindv;
    sqlstm.sqparm = sqlstm.sqharm;
    sqlstm.sqparc = sqlstm.sqharc;
    sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
    if (sqlca.sqlcode < 0) sqlerror();
}


    	if( ERROR!=0 )
    	{
    		ERROR=0;
    		return(-1);
    	}
    	
   	return(0);
 }    
 void sqlerror()
{
	char tempstring[200];
	char ERR_CODE[10];
	int init_time=0;
	
	ERROR=1;
	/* EXEC SQL WHENEVER sqlerror continue; */ 

	ProcessError( LOG_ERROR, "PCS_SND_YX1: ",sqlca.sqlerrm.sqlerrmc );
	strncpy(ERR_CODE,sqlca.sqlerrm.sqlerrmc,9);
	ERR_CODE[9]='\0';
	if( strcmp(ERR_CODE,"ORA-03127")==0|| strcmp(ERR_CODE,"ORA-03114")==0|| strcmp(ERR_CODE,"ORA-03123")==0|| strcmp(ERR_CODE,"ORA-01034")==0|| strcmp(ERR_CODE,"ORA-01089")==0||strcmp(ERR_CODE,"ORA-01012")==0||strcmp(ERR_CODE,"ORA-01089") ==0||strcmp( ERR_CODE, "ORA-01033") ==0 )
	{
		sleep(INIT_INTERVAL);
		init_time++;
		if (init_time == 6)
		{
			ProcessError(LOG_NORMAL, "PCS_SND_YX1: Could not connect to the database, so exit now!",END);
			freect(0);
			exit(0);
		}
		InitPCSSndYX1();
		/* EXEC SQL ROLLBACK WORK; */ 

{
  struct sqlexd sqlstm;

  sqlstm.sqlvsn = 8;
  sqlstm.arrsiz = 4;
  sqlstm.iters = (unsigned int  )1;
  sqlstm.offset = (unsigned int  )84;
  sqlstm.cud = sqlcud0;
  sqlstm.sqlest = (unsigned char  *)&sqlca;
  sqlstm.sqlety = (unsigned short)0;
  sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}


		return;
	}
	/* EXEC SQL ROLLBACK WORK; */ 

{
 struct sqlexd sqlstm;

 sqlstm.sqlvsn = 8;
 sqlstm.arrsiz = 4;
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )98;
 sqlstm.cud = sqlcud0;
 sqlstm.sqlest = (unsigned char  *)&sqlca;
 sqlstm.sqlety = (unsigned short)0;
 sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}


	return;
}	


int CreateSndLogAndHZRec(long *serial_no,char *datatype,char *rcv_province_code,char status)
{
	char bz[]="";
    	/* EXEC SQL SELECT s_fsxh.NEXTVAL INTO :key FROM sys.dual; */ 

{
     struct sqlexd sqlstm;

     sqlstm.sqlvsn = 8;
     sqlstm.arrsiz = 4;
     sqlstm.stmt = "select s_fsxh.nextval  into :b0  from sys.dual ";
     sqlstm.iters = (unsigned int  )1;
     sqlstm.offset = (unsigned int  )112;
     sqlstm.selerr = (unsigned short)1;
     sqlstm.cud = sqlcud0;
     sqlstm.sqlest = (unsigned char  *)&sqlca;
     sqlstm.sqlety = (unsigned short)0;
     sqlstm.sqhstv[0] = (unsigned char  *)&key;
     sqlstm.sqhstl[0] = (unsigned int  )4;
     sqlstm.sqindv[0] = (         short *)0;
     sqlstm.sqharm[0] = (unsigned int  )0;
     sqlstm.sqphsv = sqlstm.sqhstv;
     sqlstm.sqphsl = sqlstm.sqhstl;
     sqlstm.sqpind = sqlstm.sqindv;
     sqlstm.sqparm = sqlstm.sqharm;
     sqlstm.sqparc = sqlstm.sqharc;
     sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}


    	/* EXEC SQL WHENEVER SQLERROR DO sqlerror(); */ 
     /*  SQL error handling */
    	/* EXEC SQL INSERT INTO t_fsrz(fsxh,sjfl,sjzt,jssj) VALUES (
                          :key,
                          :datatype,
                          :status,
                          SYSDATE); */ 

{
     struct sqlexd sqlstm;

     sqlstm.sqlvsn = 8;
     sqlstm.arrsiz = 4;
     sqlstm.stmt = "insert into t_fsrz(fsxh,sjfl,sjzt,jssj) values (:b0,:b1,\
:b2,sysdate )";
     sqlstm.iters = (unsigned int  )1;
     sqlstm.offset = (unsigned int  )130;
     sqlstm.cud = sqlcud0;
     sqlstm.sqlest = (unsigned char  *)&sqlca;
     sqlstm.sqlety = (unsigned short)0;
     sqlstm.sqhstv[0] = (unsigned char  *)&key;
     sqlstm.sqhstl[0] = (unsigned int  )4;
     sqlstm.sqindv[0] = (         short *)0;
     sqlstm.sqharm[0] = (unsigned int  )0;
     sqlstm.sqhstv[1] = (unsigned char  *)datatype;
     sqlstm.sqhstl[1] = (unsigned int  )0;
     sqlstm.sqindv[1] = (         short *)0;
     sqlstm.sqharm[1] = (unsigned int  )0;
     sqlstm.sqhstv[2] = (unsigned char  *)&status;
     sqlstm.sqhstl[2] = (unsigned int  )1;
     sqlstm.sqindv[2] = (         short *)0;
     sqlstm.sqharm[2] = (unsigned int  )0;
     sqlstm.sqphsv = sqlstm.sqhstv;
     sqlstm.sqphsl = sqlstm.sqhstl;
     sqlstm.sqpind = sqlstm.sqindv;
     sqlstm.sqparm = sqlstm.sqharm;
     sqlstm.sqparc = sqlstm.sqharc;
     sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
     if (sqlca.sqlcode < 0) sqlerror();
}


    	if( ERROR!=0 )
    	{
    		ERROR=0;
    		return(-1);
    	}
    
     	/* EXEC SQL INSERT INTO t_HZ  (fsxh,sjbh,hzjssj,hzzt,bz,pc) VALUES (
                          :key,
                          :rcv_province_code,
                          SYSDATE,
                          :status,
			  :bz,
			  :YX_PC_INT); */ 

{
      struct sqlexd sqlstm;

      sqlstm.sqlvsn = 8;
      sqlstm.arrsiz = 5;
      sqlstm.stmt = "insert into t_HZ(fsxh,sjbh,hzjssj,hzzt,bz,pc) values (:\
b0,:b1,sysdate ,:b2,:b3,:b4)";
      sqlstm.iters = (unsigned int  )1;
      sqlstm.offset = (unsigned int  )156;
      sqlstm.cud = sqlcud0;
      sqlstm.sqlest = (unsigned char  *)&sqlca;
      sqlstm.sqlety = (unsigned short)0;
      sqlstm.sqhstv[0] = (unsigned char  *)&key;
      sqlstm.sqhstl[0] = (unsigned int  )4;
      sqlstm.sqindv[0] = (         short *)0;
      sqlstm.sqharm[0] = (unsigned int  )0;
      sqlstm.sqhstv[1] = (unsigned char  *)rcv_province_code;
      sqlstm.sqhstl[1] = (unsigned int  )0;
      sqlstm.sqindv[1] = (         short *)0;
      sqlstm.sqharm[1] = (unsigned int  )0;
      sqlstm.sqhstv[2] = (unsigned char  *)&status;
      sqlstm.sqhstl[2] = (unsigned int  )1;
      sqlstm.sqindv[2] = (         short *)0;
      sqlstm.sqharm[2] = (unsigned int  )0;
      sqlstm.sqhstv[3] = (unsigned char  *)bz;
      sqlstm.sqhstl[3] = (unsigned int  )0;
      sqlstm.sqindv[3] = (         short *)0;
      sqlstm.sqharm[3] = (unsigned int  )0;
      sqlstm.sqhstv[4] = (unsigned char  *)&YX_PC_INT;
      sqlstm.sqhstl[4] = (unsigned int  )4;
      sqlstm.sqindv[4] = (         short *)0;
      sqlstm.sqharm[4] = (unsigned int  )0;
      sqlstm.sqphsv = sqlstm.sqhstv;
      sqlstm.sqphsl = sqlstm.sqhstl;
      sqlstm.sqpind = sqlstm.sqindv;
      sqlstm.sqparm = sqlstm.sqharm;
      sqlstm.sqparc = sqlstm.sqharc;
      sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
      if (sqlca.sqlcode < 0) sqlerror();
}


    	*serial_no = key;
    	return(0);
}
                     
            


int UpdateSndLogStatus(long serial_no,char status)
{
   
    	/* EXEC SQL WHENEVER SQLERROR DO sqlerror(); */ 
     /*  SQL error handling */
    	/* EXEC SQL UPDATE t_fsrz  SET sjzt = :status  
                       WHERE fsxh = :serial_no; */ 

{
     struct sqlexd sqlstm;

     sqlstm.sqlvsn = 8;
     sqlstm.arrsiz = 5;
     sqlstm.stmt = "update t_fsrz  set sjzt=:b0 where fsxh=:b1";
     sqlstm.iters = (unsigned int  )1;
     sqlstm.offset = (unsigned int  )190;
     sqlstm.cud = sqlcud0;
     sqlstm.sqlest = (unsigned char  *)&sqlca;
     sqlstm.sqlety = (unsigned short)0;
     sqlstm.sqhstv[0] = (unsigned char  *)&status;
     sqlstm.sqhstl[0] = (unsigned int  )1;
     sqlstm.sqindv[0] = (         short *)0;
     sqlstm.sqharm[0] = (unsigned int  )0;
     sqlstm.sqhstv[1] = (unsigned char  *)&serial_no;
     sqlstm.sqhstl[1] = (unsigned int  )4;
     sqlstm.sqindv[1] = (         short *)0;
     sqlstm.sqharm[1] = (unsigned int  )0;
     sqlstm.sqphsv = sqlstm.sqhstv;
     sqlstm.sqphsl = sqlstm.sqhstl;
     sqlstm.sqpind = sqlstm.sqindv;
     sqlstm.sqparm = sqlstm.sqharm;
     sqlstm.sqparc = sqlstm.sqharc;
     sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
     if (sqlca.sqlcode < 0) sqlerror();
}


    	if( ERROR!=0 )
    	{
    		ERROR=0;
    		return(-1);
    	}
    	return(0);
}

⌨️ 快捷键说明

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