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

📄 sign_business.pc

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

extern void pro_Menu();
int pro_update_agreement( char* tCustomerID,char* tProviderID,char* tPartID,char* tPrice,char* tQuantity,char* tCustomerSign,char* tCustSignDate,char* tProviderSign );


void sign_bussiness()
{
	
	EXEC SQL BEGIN DECLARE SECTION; 
	char CustomerID[10];
	char ProviderID[10];
	char PartID[10];
	char Price[10];
	char Quantity[10];  
	char CustomerSign[4];	
	char CustSignDate[20];
	char ProviderSign[4];
	char ProvSignDate[20];
	char sign[4];
	char kon[4];
	EXEC SQL END DECLARE SECTION;
	char t;
	int total_number = 0;
	strcpy(kon,"kon");
	
	
	puts("\t\t以下将对交易中心推荐的交易进行签定");
	
	EXEC SQL DECLARE sign_bussiness_cursor CURSOR FOR 
		SELECT * FROM Agreement
			WHERE ProviderSign = :kon;  /*ID,Name,Color,Weight,Advicer,Intro*/
   	EXEC SQL OPEN sign_bussiness_cursor;


   	while(1)
   	{
		
   		EXEC SQL WHENEVER NOT FOUND DO break;   		
   		EXEC SQL FETCH sign_bussiness_cursor INTO :CustomerID,:ProviderID,:PartID,:Price,:Quantity,:CustomerSign,:CustSignDate,:ProviderSign,:ProvSignDate;
    		 /*puts("!!goto here!!");*/
    		/*printf("%s",CustomerSign);
    		printf("%s",ProviderSign);*/
  		if(!strcmp(ProviderSign,"kon") ){
  			++total_number; 
    			printf("\n本项推荐交易信息为:\n");
			printf("--- --------- ------------------- ---------------------------- ----------\n");
			printf("%-4s%-10s%-10s%-10s%-10s%-10s%-4s%-20s%-4s%-20s\n","N","CustomerID","ProviderID","PartID","Price","Quantity","CusSign","CSignDate","ProSign","PSignDate");
    			printf("--- --------- ------------------- ---------------------------- ----------\n");
   			printf("%-4d%-10s%-10s%-10s%-10s%-10s%-4s%-20s%-4s%-20s\n",total_number,CustomerID,ProviderID,PartID,Price,Quantity,CustomerSign,CustSignDate,ProviderSign,ProvSignDate);
   			
   			printf("同意本项交易吗?(y 同意 n 不同意)\n");
   			fflush(stdin);
   			t = getchar();
   			if(t == 'n' || t == 'N' )
   				strcpy(sign,"no");
   			else	strcpy(sign,"yes");
   			if(pro_update_agreement( CustomerID,ProviderID,PartID,Price,Quantity,CustomerSign,CustSignDate,sign ))
   				printf("ERROR:(sign_business)\n");	
			else{
				printf("本交易已经签署,点击任意键开始下一项!");
				getchar();
			}/*else*/   			
		}/*if*/	
   	}/*while*/

   	EXEC SQL CLOSE sign_bussiness_cursor;
   	puts("签署交易的操作完毕,任意键返回上级菜单\n");
   	getchar();
	pro_Menu();
}/*sign_bussiness()*/

int pro_update_agreement( char* tCustomerID,char* tProviderID,char* tPartID,char* tPrice,char* tQuantity,char* tCustomerSign,char* tCustSignDate,char* tProviderSign )
{
	
	EXEC SQL BEGIN DECLARE SECTION; 
	char CustomerID[10];
	char ProviderID[10];
	char PartID[10];
	char Price[10];
	char Quantity[10];  
	char CustomerSign[4];	
	char CustSignDate[20];
	char ProviderSign[4];
	EXEC SQL END DECLARE SECTION;
	
	strcpy(CustomerID,tCustomerID);
      	strcpy(ProviderID,tProviderID);
      	strcpy(PartID,tPartID);
      	strcpy(Price,tPrice);
      	strcpy(Quantity,tQuantity);
      	strcpy(CustomerSign,tCustomerSign);
      	strcpy(CustSignDate,tCustSignDate);
      	strcpy(ProviderSign,tProviderSign);      	
      	     		
	EXEC SQL WHENEVER SQLERROR GOTO sqlerr;
	EXEC SQL WHENEVER NOT FOUND GOTO notfound;
	EXEC SQL UPDATE  Agreement SET CustomerID=:CustomerID,ProviderID=:ProviderID,PartID=:PartID,Price=:Price,
				Quantity=:Quantity,CustomerSign=:CustomerSign,CustSignDate=:CustSignDate,ProviderSign=:ProviderSign,
				provSignDate= SYSDATE				
		 WHERE CustomerID=:CustomerID AND ProviderID=:ProviderID AND PartID=:PartID;
	EXEC SQL COMMIT;
	printf( "%s,%s,%s updated.\n",CustomerID,ProviderID,PartID );
	return 0;
	
	notfound:
		printf("WARING:(update_agreement)\n");
		return -1;
	
	sqlerr:
		printf("%70s\n",sqlca.sqlerrm.sqlerrmc);
		printf("ERROR:(update_agreement)");
		EXEC SQL WHENEVER SQLERROR CONTINUE;
		EXEC SQL ROLLBACK;
		return -1;
	
}/*pro_update_agreement( ... )*/

⌨️ 快捷键说明

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