?? registerbussiness.c
字號(hào):
/* Result Sets Interface */
#ifndef SQL_CRSR
# define SQL_CRSR
struct sql_cursor
{
unsigned int curocn;
void *ptr1;
void *ptr2;
unsigned long magic;
};
typedef struct sql_cursor sql_cursor;
typedef struct sql_cursor SQL_CURSOR;
#endif /* SQL_CRSR */
/* Thread Safety */
typedef void * sql_context;
typedef void * SQL_CONTEXT;
/* Object support */
struct sqltvn
{
unsigned char *tvnvsn;
unsigned short tvnvsnl;
unsigned char *tvnnm;
unsigned short tvnnml;
unsigned char *tvnsnm;
unsigned short tvnsnml;
};
typedef struct sqltvn sqltvn;
struct sqladts
{
unsigned int adtvsn;
unsigned short adtmode;
unsigned short adtnum;
sqltvn adttvn[1];
};
typedef struct sqladts sqladts;
static struct sqladts sqladt = {
1,1,0,
};
/* Binding to PL/SQL Records */
struct sqltdss
{
unsigned int tdsvsn;
unsigned short tdsnum;
unsigned char *tdsval[1];
};
typedef struct sqltdss sqltdss;
static struct sqltdss sqltds =
{
1,
0,
};
/* File name & Package Name */
struct sqlcxp
{
unsigned short fillen;
char filnam[80];
};
static const struct sqlcxp sqlfpn =
{
79,
"F:\\數(shù)據(jù)庫\\課程設(shè)計(jì)\\課程設(shè)計(jì)zhu\\server1.2\\registerBussiness\\registerBussiness.pc"
};
static unsigned long sqlctx = 1607735549;
static struct sqlexd {
unsigned int sqlvsn;
unsigned int arrsiz;
unsigned int iters;
unsigned int offset;
unsigned short selerr;
unsigned short sqlety;
unsigned int occurs;
const short *cud;
unsigned char *sqlest;
const char *stmt;
sqladts *sqladtp;
sqltdss *sqltdsp;
void **sqphsv;
unsigned int *sqphsl;
int *sqphss;
void **sqpind;
int *sqpins;
unsigned int *sqparm;
unsigned int **sqparc;
unsigned short *sqpadto;
unsigned short *sqptdso;
void *sqhstv[9];
unsigned int sqhstl[9];
int sqhsts[9];
void *sqindv[9];
int sqinds[9];
unsigned int sqharm[9];
unsigned int *sqharc[9];
unsigned short sqadto[9];
unsigned short sqtdso[9];
} sqlstm = {10,9};
/* SQLLIB Prototypes */
extern void sqlcxt (void **, unsigned long *,
struct sqlexd *, const struct sqlcxp *);
extern void sqlcx2t(void **, unsigned long *,
struct sqlexd *, const struct sqlcxp *);
extern void sqlbuft(void **, char *);
extern void sqlgs2t(void **, char *);
extern void sqlorat(void **, unsigned long *, void *);
/* Forms Interface */
static const int IAPSUCC = 0;
static const int IAPFAIL = 1403;
static const int IAPFTL = 535;
extern void sqliem(char *, int *);
static const char *sq0001 =
"select * from Agreement ";
typedef struct { unsigned short len; unsigned char arr[1]; } VARCHAR;
typedef struct { unsigned short len; unsigned char arr[1]; } varchar;
/* cud (compilation unit data) array */
static const short sqlcud0[] =
{10,4130,852,0,0,
5,0,0,1,36,0,9,31,0,0,0,0,0,1,0,
20,0,0,1,0,0,13,41,0,0,9,0,0,1,0,2,97,0,0,2,97,0,0,2,97,0,0,2,97,0,0,2,97,0,0,
2,97,0,0,2,97,0,0,2,97,0,0,2,97,0,0,
71,0,0,1,0,0,15,61,0,0,0,0,0,1,0,
86,0,0,2,82,0,2,81,0,0,3,3,0,1,0,1,97,0,0,1,97,0,0,1,97,0,0,
113,0,0,3,0,0,29,82,0,0,0,0,0,1,0,
128,0,0,4,0,0,31,94,0,0,0,0,0,1,0,
};
#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以下將進(jìn)行確認(rèn)交易的操作");
/* 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; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 10;
sqlstm.arrsiz = 0;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = sq0001;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )5;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}
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; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 10;
sqlstm.arrsiz = 9;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )20;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)CustomerID;
sqlstm.sqhstl[0] = (unsigned int )10;
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 *)ProviderID;
sqlstm.sqhstl[1] = (unsigned int )10;
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 *)PartID;
sqlstm.sqhstl[2] = (unsigned int )10;
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 *)Price;
sqlstm.sqhstl[3] = (unsigned int )10;
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.sqhstv[4] = ( void *)Quantity;
sqlstm.sqhstl[4] = (unsigned int )10;
sqlstm.sqhsts[4] = ( int )0;
sqlstm.sqindv[4] = ( void *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned int )0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = ( void *)CustomerSign;
sqlstm.sqhstl[5] = (unsigned int )4;
sqlstm.sqhsts[5] = ( int )0;
sqlstm.sqindv[5] = ( void *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned int )0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqhstv[6] = ( void *)CustSignDate;
sqlstm.sqhstl[6] = (unsigned int )20;
sqlstm.sqhsts[6] = ( int )0;
sqlstm.sqindv[6] = ( void *)0;
sqlstm.sqinds[6] = ( int )0;
sqlstm.sqharm[6] = (unsigned int )0;
sqlstm.sqadto[6] = (unsigned short )0;
sqlstm.sqtdso[6] = (unsigned short )0;
sqlstm.sqhstv[7] = ( void *)ProviderSign;
sqlstm.sqhstl[7] = (unsigned int )4;
sqlstm.sqhsts[7] = ( int )0;
sqlstm.sqindv[7] = ( void *)0;
sqlstm.sqinds[7] = ( int )0;
sqlstm.sqharm[7] = (unsigned int )0;
sqlstm.sqadto[7] = (unsigned short )0;
sqlstm.sqtdso[7] = (unsigned short )0;
sqlstm.sqhstv[8] = ( void *)ProvSignDate;
sqlstm.sqhstl[8] = (unsigned int )20;
sqlstm.sqhsts[8] = ( int )0;
sqlstm.sqindv[8] = ( void *)0;
sqlstm.sqinds[8] = ( int )0;
sqlstm.sqharm[8] = (unsigned int )0;
sqlstm.sqadto[8] = (unsigned short )0;
sqlstm.sqtdso[8] = (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) break;
}
/*puts("!!goto here!!");*/
/*printf("%s",CustomerSign);
printf("%s",ProviderSign);*/
if(!strcmp(CustomerSign,"yes") && !strcmp(ProviderSign,"yes") ){
++total_number;
printf("\n本項(xiàng)交易已為雙方接受:\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("本項(xiàng)交易信息已錄入交易記錄文件,點(diǎn)擊任意鍵開始下一項(xiàng)");
getchar();
}/*if*/
}/*if*/
}/*while*/
fclose(fp);
/* EXEC SQL CLOSE register_bus_cursor; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 10;
sqlstm.arrsiz = 9;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )71;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}
puts("確認(rèn)交易的操作完畢,任意鍵返回上級(jí)菜單\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; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 10;
sqlstm.arrsiz = 9;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "delete from Agreement where ((CustomerID=:b0 and Provider\
ID=:b1) and PartID=:b2)";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )86;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)CustomerID;
sqlstm.sqhstl[0] = (unsigned int )10;
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 *)ProviderID;
sqlstm.sqhstl[1] = (unsigned int )10;
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 *)PartID;
sqlstm.sqhstl[2] = (unsigned int )10;
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.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;
}
/* EXEC SQL COMMIT; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 10;
sqlstm.arrsiz = 9;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )113;
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,%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; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 10;
sqlstm.arrsiz = 9;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )128;
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;
}/*delete_agreement(...)*/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -