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

📄 pro_meg_modify.pc

📁 pro C的一个关于零件交易系统的源码
💻 PC
字号:
#include <stdio.h> 
#include <string.h>
#include <stdlib.h>
#include <sqlca.h>
#include <conio.h>
#include <process.h>

void menu_insert_proMeg();
int insert_pro(char* tID,char* tName,char* tAddress,char* tTel,char* tIntro);
void menu_update_proMeg();
int update_pro( char* tID,char* tName,char* tAddress,char* tTel,char* tIntro );
int query_pro(char* tID);
extern void pro_Menu();
 extern int query_proID_unique(char* tID);
 
extern char Pro_ID[10];       /*供应商登陆用户名*/
extern char Pro_Password[10]; /*登陆密码*/

void pro_meg_modify_menu()
{
	char temp;
	fflush(stdin);
	/*clrscr(void); */
	system("cls");
	puts("\n\n供应商客户端\n\n");
	puts("\n\n供应商个人信息维护\n\n");
	printf("\t1.个人信息添加\n");
	printf("\t2.个人信息修改\n");	
	printf("\t....任意键退出\n\n");
	

		
		printf("请选择(1 - 2 ,quit with any other key):");
		temp=getchar();
		fflush(stdin);
		

		switch(temp) {
			case '1': 
				menu_insert_proMeg();break;
			case '2':
				menu_update_proMeg();break;
			default :
				pro_Menu();
					
			}
}/*pro_meg_modify_menu()*/

void menu_insert_proMeg()
{

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


		printf("\t\t添加个人信息\n\n");
		printf("\n请录入:\n");
		printf("\t供应商名->");
		scanf("%s",Name);
		printf("\t地址->");
		scanf("%s",Address);
		printf("\t电话->");
		scanf("%s",Tel);
		printf("\t简介->");
		scanf("%s",Intro);
		printf("\n");
		fflush(stdin);
		/*printf("(menu_insert_proMeg)%s\n",Pro_ID);*/
		if(!insert_pro(Pro_ID,Name,Address,Tel,Intro)){
			printf("成功添加个人信息!点击任意键返回上级菜单!");
			getchar();
			pro_Menu();	
		}else{
			printf("ERROR:(menu_insert_pro)");	
			printf("出现错误!添加个人信息不成功,点击任意键返回上级菜单!");
			getchar();
			pro_Menu();
		}/*else*/
}/*menu_insert_proMeg()*/

int insert_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);
	/*printf("(insert_pro)%s,%s\n",ID,tID);*/
	EXEC SQL WHENEVER SQLERROR GOTO error;
	EXEC SQL INSERT INTO Provider
		VALUES(:ID,:Name,:Address,:Tel,:Intro);
	EXEC SQL COMMIT;	
	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; 
   	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;
		/* WHERE ID=:ID;*/
	EXEC SQL COMMIT;
	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;
		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 + -