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

📄 registerbussiness.pc

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

extern void bus_Menu();
int delete_agreement(char* tCustomerID,char* tProviderID,char* tPartID);

void registerBussiness()
{
	FILE* fp;
	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 yes[4]="kon";
	EXEC SQL END DECLARE SECTION;
	int total_number = 0;
	puts("\t\t以下将进行确认交易的操作");
	
	EXEC SQL DECLARE register_bus_cursor CURSOR FOR 
		SELECT * FROM Agreement;
			/*WHERE CustomerSign = :yes; AND ProviderSign = :yes;  ID,Name,Color,Weight,Advicer,Intro*/
   	EXEC SQL OPEN register_bus_cursor;

	fp=fopen("1.txt","a+");
	fprintf(fp,"\t\t\t成交记录文件\n\n");
	fprintf(fp,"%-4s%-10s%-10s%-10s%-10s%-10s%-4s%-20s%-4s%-20s\n","N","CustomerID","ProviderID","PartID","Price","Quantity","CusSign","CSignDate","ProSign","PSignDate");

   	while(1)
   	{
		
   		EXEC SQL WHENEVER NOT FOUND DO break;   		
   		EXEC SQL FETCH register_bus_cursor INTO :CustomerID,:ProviderID,:PartID,:Price,:Quantity,:CustomerSign,:CustSignDate,:ProviderSign,:ProvSignDate;
    		 /*puts("!!goto here!!");*/
    		/*printf("%s",CustomerSign);
    		printf("%s",ProviderSign);*/
  		if(!strcmp(CustomerSign,"yes") && !strcmp(ProviderSign,"yes") ){
  			++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");
    			fprintf(fp,"------------------------------------------------------------------------------------------------------\n");
   			printf("%-4d%-10s%-10s%-10s%-10s%-10s%-4s%-20s%-4s%-20s\n",total_number,CustomerID,ProviderID,PartID,Price,Quantity,CustomerSign,CustSignDate,ProviderSign,ProvSignDate);
   			fprintf(fp,"%-4d%-10s%-10s%-10s%-10s%-10s%-4s%-20s%-4s%-20s\n",total_number,CustomerID,ProviderID,PartID,Price,Quantity,CustomerSign,CustSignDate,ProviderSign,ProvSignDate);
   			if( !delete_agreement(CustomerID,ProviderID,PartID) ){
   				puts("本项交易信息已录入交易记录文件,点击任意键开始下一项");
   				getchar();
   			}/*if*/
		}/*if*/	
   	}/*while*/
   	fclose(fp);
   	EXEC SQL CLOSE register_bus_cursor;
   	puts("确认交易的操作完毕,任意键返回上级菜单\n");
   	getchar();
	bus_Menu();
}/*registerBussiness()*/

int delete_agreement(char* tCustomerID,char* tProviderID,char* tPartID)
{
	EXEC SQL BEGIN DECLARE SECTION; 
	char CustomerID[10];
	char ProviderID[10];
	char PartID[10];
	EXEC SQL END DECLARE SECTION;
	
	strcpy(CustomerID,tCustomerID);
	strcpy(ProviderID,tProviderID);
	strcpy(PartID,tPartID);
	/*printf("%s\t%s\t%s\n",CustomerID,ProviderID,PartID);*/
	EXEC SQL WHENEVER SQLERROR GOTO sqlerr;
	EXEC SQL WHENEVER NOT FOUND GOTO notfound;
	EXEC SQL DELETE FROM Agreement WHERE CustomerID =:CustomerID AND ProviderID=:ProviderID AND PartID=:PartID;
	EXEC SQL COMMIT;
	printf("%s,%s,%s dropped.\n",CustomerID,ProviderID,PartID);
	return 0;
	
	notfound:
		printf("WARING:(delete_agreement)The agreement %s,%s,%s does not exist.\t",CustomerID,ProviderID,PartID);
		return -1;
	
	sqlerr:
		printf("(delete_agreement)删除不成功!\n");
		printf("%70s\n",sqlca.sqlerrm.sqlerrmc);
		EXEC SQL WHENEVER SQLERROR CONTINUE;
		EXEC SQL ROLLBACK;
		return -1;
	
}/*delete_agreement(...)*/

⌨️ 快捷键说明

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