📄 sign_business.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 + -