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

📄 pro_meg_modify.c

📁 pro C的一个关于零件交易系统的源码
💻 C
📖 第 1 页 / 共 2 页
字号:
 sqlstm.sqphss = sqlstm.sqhsts;
 sqlstm.sqpind = sqlstm.sqindv;
 sqlstm.sqpins = sqlstm.sqinds;
 sqlstm.sqparm = sqlstm.sqharm;
 sqlstm.sqparc = sqlstm.sqharc;
 sqlstm.sqpadto = sqlstm.sqadto;
 sqlstm.sqptdso = sqlstm.sqtdso;
 sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
 if (sqlca.sqlcode < 0) goto error;
}


	/* EXEC SQL COMMIT; */ 

{
 struct sqlexd sqlstm;
 sqlstm.sqlvsn = 10;
 sqlstm.arrsiz = 5;
 sqlstm.sqladtp = &sqladt;
 sqlstm.sqltdsp = &sqltds;
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )40;
 sqlstm.cud = sqlcud0;
 sqlstm.sqlest = (unsigned char  *)&sqlca;
 sqlstm.sqlety = (unsigned short)256;
 sqlstm.occurs = (unsigned int  )0;
 sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
 if (sqlca.sqlcode < 0) goto error;
}

	
	return 0;
error:
	printf("ERROR:(insert_pro)");
	/* EXEC SQL WHENEVER SQLERROR CONTINUE; */ 
    
   	printf("\nORACLE error detected:\n"); 
   	printf("\n%.70s\n",sqlca.sqlerrm.sqlerrmc); 
   	/* EXEC SQL ROLLBACK RELEASE; */ 

{
    struct sqlexd sqlstm;
    sqlstm.sqlvsn = 10;
    sqlstm.arrsiz = 5;
    sqlstm.sqladtp = &sqladt;
    sqlstm.sqltdsp = &sqltds;
    sqlstm.iters = (unsigned int  )1;
    sqlstm.offset = (unsigned int  )55;
    sqlstm.cud = sqlcud0;
    sqlstm.sqlest = (unsigned char  *)&sqlca;
    sqlstm.sqlety = (unsigned short)256;
    sqlstm.occurs = (unsigned int  )0;
    sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}

 
   	return 1; 	
}/*insert_pro()*/

void menu_update_proMeg()
{

	char ID[10];
	char Name[20];
	char Address[30];
	char Tel[16];
	char Intro[100];
		

		fflush(stdin);
		printf("\n\n\t\t更新供应商个人信息\n\n");
		printf("请录入:\n\n");
		printf("\t供应商号->");
		scanf("%s",ID);

		
		if( query_proID_unique( ID ) )
			printf("WARING:(menu_update_pro)Provider %s does not exist.\t\n\n",ID);
		else{	
			printf("请录入更改的信息:(0 to give up update)\n");
			printf("\t供应商名->");
			scanf("%s",Name);
			if(!strcmp(Name,"0")){
				puts("\tExit to abort menu!");
			}else{
				printf("\t地址->");
				scanf("%s",Address);
				printf("\t电话->");
				scanf("%s",Tel);
				printf("\t简介->");
				scanf("%s",Intro);
				printf("\n");
				
		
		
			if( update_pro( ID,Name,Address,Tel,Intro ) )
				printf("WARING:(menu_update_pro)Provider %s does not exist.\t",ID);	
			else printf("成功更新%s的信息!点击任意键返回上级菜单!",ID);
			getchar();
			}/*else*/
		}/*else*/	
				
	pro_Menu();
}/*menu_update_proMeg()*/

int update_pro( char* tID,char* tName,char* tAddress,char* tTel,char* tIntro )
{
	
	/* EXEC SQL BEGIN DECLARE SECTION; */ 
 
	char ID[10];
	char Name[20];
	char Address[30];
	char Tel[16];
	char Intro[100];
	/* EXEC SQL END DECLARE SECTION; */ 

	
	strcpy(ID,tID);
      	strcpy(Name,tName);
      	strcpy(Address,tAddress);
      	strcpy(Tel,tTel);
      	strcpy(Intro,tIntro);
      		
	/* EXEC SQL WHENEVER SQLERROR GOTO sqlerr; */ 

	/* EXEC SQL WHENEVER NOT FOUND GOTO notfound; */ 

	/* EXEC SQL UPDATE  Provider SET Name=:Name,Address=:Address,Tel=:Tel,Intro=:Intro; */ 

{
 struct sqlexd sqlstm;
 sqlstm.sqlvsn = 10;
 sqlstm.arrsiz = 5;
 sqlstm.sqladtp = &sqladt;
 sqlstm.sqltdsp = &sqltds;
 sqlstm.stmt = "update Provider  set Name=:b0,Address=:b1,Tel=:b2,Intro=:b3";
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )70;
 sqlstm.cud = sqlcud0;
 sqlstm.sqlest = (unsigned char  *)&sqlca;
 sqlstm.sqlety = (unsigned short)256;
 sqlstm.occurs = (unsigned int  )0;
 sqlstm.sqhstv[0] = (         void  *)Name;
 sqlstm.sqhstl[0] = (unsigned int  )20;
 sqlstm.sqhsts[0] = (         int  )0;
 sqlstm.sqindv[0] = (         void  *)0;
 sqlstm.sqinds[0] = (         int  )0;
 sqlstm.sqharm[0] = (unsigned int  )0;
 sqlstm.sqadto[0] = (unsigned short )0;
 sqlstm.sqtdso[0] = (unsigned short )0;
 sqlstm.sqhstv[1] = (         void  *)Address;
 sqlstm.sqhstl[1] = (unsigned int  )30;
 sqlstm.sqhsts[1] = (         int  )0;
 sqlstm.sqindv[1] = (         void  *)0;
 sqlstm.sqinds[1] = (         int  )0;
 sqlstm.sqharm[1] = (unsigned int  )0;
 sqlstm.sqadto[1] = (unsigned short )0;
 sqlstm.sqtdso[1] = (unsigned short )0;
 sqlstm.sqhstv[2] = (         void  *)Tel;
 sqlstm.sqhstl[2] = (unsigned int  )16;
 sqlstm.sqhsts[2] = (         int  )0;
 sqlstm.sqindv[2] = (         void  *)0;
 sqlstm.sqinds[2] = (         int  )0;
 sqlstm.sqharm[2] = (unsigned int  )0;
 sqlstm.sqadto[2] = (unsigned short )0;
 sqlstm.sqtdso[2] = (unsigned short )0;
 sqlstm.sqhstv[3] = (         void  *)Intro;
 sqlstm.sqhstl[3] = (unsigned int  )100;
 sqlstm.sqhsts[3] = (         int  )0;
 sqlstm.sqindv[3] = (         void  *)0;
 sqlstm.sqinds[3] = (         int  )0;
 sqlstm.sqharm[3] = (unsigned int  )0;
 sqlstm.sqadto[3] = (unsigned short )0;
 sqlstm.sqtdso[3] = (unsigned short )0;
 sqlstm.sqphsv = sqlstm.sqhstv;
 sqlstm.sqphsl = sqlstm.sqhstl;
 sqlstm.sqphss = sqlstm.sqhsts;
 sqlstm.sqpind = sqlstm.sqindv;
 sqlstm.sqpins = sqlstm.sqinds;
 sqlstm.sqparm = sqlstm.sqharm;
 sqlstm.sqparc = sqlstm.sqharc;
 sqlstm.sqpadto = sqlstm.sqadto;
 sqlstm.sqptdso = sqlstm.sqtdso;
 sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
 if (sqlca.sqlcode == 1403) goto notfound;
 if (sqlca.sqlcode < 0) goto sqlerr;
}


		/* WHERE ID=:ID;*/
	/* EXEC SQL COMMIT; */ 

{
 struct sqlexd sqlstm;
 sqlstm.sqlvsn = 10;
 sqlstm.arrsiz = 5;
 sqlstm.sqladtp = &sqladt;
 sqlstm.sqltdsp = &sqltds;
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )101;
 sqlstm.cud = sqlcud0;
 sqlstm.sqlest = (unsigned char  *)&sqlca;
 sqlstm.sqlety = (unsigned short)256;
 sqlstm.occurs = (unsigned int  )0;
 sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
 if (sqlca.sqlcode < 0) goto sqlerr;
}


	printf("%s updated.\n",ID);
	return 0;
	
	notfound:
		printf("WARING:(update_pro)Provider %s does not exist.\t",ID);
		return -1;
	
	sqlerr:
		printf("%70s\n",sqlca.sqlerrm.sqlerrmc);
		/* EXEC SQL WHENEVER SQLERROR CONTINUE; */ 

		/* EXEC SQL ROLLBACK; */ 

{
  struct sqlexd sqlstm;
  sqlstm.sqlvsn = 10;
  sqlstm.arrsiz = 5;
  sqlstm.sqladtp = &sqladt;
  sqlstm.sqltdsp = &sqltds;
  sqlstm.iters = (unsigned int  )1;
  sqlstm.offset = (unsigned int  )116;
  sqlstm.cud = sqlcud0;
  sqlstm.sqlest = (unsigned char  *)&sqlca;
  sqlstm.sqlety = (unsigned short)256;
  sqlstm.occurs = (unsigned int  )0;
  sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}


		return -1;
	
}/*update_pro( ... )*/
/*
int query_pro(char* tID)
{
	EXEC SQL BEGIN DECLARE SECTION; 
	char ID[10];
	char Name[20];
	char Address[30];
	char Tel[16];
	char Intro[100];
	
	char seekID[10];
	
	EXEC SQL END DECLARE SECTION;
	int total_number=0;
	
	strcpy(seekID,tID);


	EXEC SQL DECLARE pro_cursor CURSOR FOR SELECT * FROM Provider WHERE ID=:seekID ;
   	EXEC SQL OPEN pro_cursor;
   	
 	
				

   	while(1)
   	{
   		EXEC SQL WHENEVER NOT FOUND DO break;   		
   		EXEC SQL FETCH pro_cursor INTO :ID,:Name,:Address,:Tel,:Intro;
    		++total_number;
    		if( total_number == 1 )
    		{
    			printf("\n相应的信息如下:");
			printf("\n\n--- --------- ------------------- ---------------------------- ----------\n");
			printf("%-4s%-10s%-20s%-30s%-16s\n","N","ID","Name","Address","Tel");
    			printf("--- --------- ------------------- ---------------------------- ----------\n");
    		}
   		printf("%-4d%-10s%-20s%-30s%-16s\n",total_number,ID,Name,Address,Tel);
   		printf("--- --------- ------------------- ---------------------------- ----------\n");
   		printf("%-50s\n","Intro");
    		printf("-------------------------------------------------------------------------\n");
   		printf("%-50s\n",Intro);
   		printf("-------------------------------------------------------------------------\n");
   		printf("--- --------- ------------------- ---------------------------- ----------\n\n\n");
   	}   	
   	EXEC SQL CLOSE pro_cursor;
   	if(!total_number)
   	{	
   		printf("WARING:(query_pro)Provider %s does not exist.\t\n\n",seekID);
   		return -1;
   	}else
		return 0;	/*success*/	
	
	  
		
/*}*//*query_pro()*/

⌨️ 快捷键说明

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