📄 advicebussiness.c
字号:
/* 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[76];
};
static const struct sqlcxp sqlfpn =
{
75,
"F:\\数据库\\课程设计\\课程设计zhu\\server1.2\\AdviceBussiness\\AdviceBussiness.pc"
};
static unsigned long sqlctx = 1746102525;
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[6];
unsigned int sqhstl[6];
int sqhsts[6];
void *sqindv[6];
int sqinds[6];
unsigned int sqharm[6];
unsigned int *sqharc[6];
unsigned short sqadto[6];
unsigned short sqtdso[6];
} sqlstm = {10,6};
/* 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 After ";
static const char *sq0002 =
"select * from Supply ";
static const char *sq0003 =
"select * from After ";
static const char *sq0004 =
"select * from Supply where PartID=:b0 ";
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,32,0,9,31,0,0,0,0,0,1,0,
20,0,0,1,0,0,13,37,0,0,4,0,0,1,0,2,97,0,0,2,97,0,0,2,97,0,0,2,97,0,0,
51,0,0,1,0,0,15,49,0,0,0,0,0,1,0,
66,0,0,2,33,0,9,71,0,0,0,0,0,1,0,
81,0,0,2,0,0,13,77,0,0,4,0,0,1,0,2,97,0,0,2,97,0,0,2,97,0,0,2,97,0,0,
112,0,0,2,0,0,15,89,0,0,0,0,0,1,0,
127,0,0,3,32,0,9,112,0,0,0,0,0,1,0,
142,0,0,3,0,0,13,139,0,0,4,0,0,1,0,2,97,0,0,2,97,0,0,2,97,0,0,2,97,0,0,
173,0,0,4,49,0,9,192,0,0,1,1,0,1,0,1,97,0,0,
192,0,0,4,0,0,13,198,0,0,4,0,0,1,0,2,97,0,0,2,97,0,0,2,97,0,0,2,97,0,0,
223,0,0,2,0,0,15,229,0,0,0,0,0,1,0,
238,0,0,5,85,0,3,256,0,0,5,5,0,1,0,1,97,0,0,1,97,0,0,1,97,0,0,1,4,0,0,1,4,0,0,
273,0,0,6,0,0,29,258,0,0,0,0,0,1,0,
288,0,0,7,57,0,2,284,0,0,2,2,0,1,0,1,97,0,0,1,97,0,0,
311,0,0,8,0,0,29,285,0,0,0,0,0,1,0,
326,0,0,9,0,0,31,298,0,0,0,0,0,1,0,
341,0,0,10,105,0,5,319,0,0,6,6,0,1,0,1,97,0,0,1,97,0,0,1,4,0,0,1,4,0,0,1,97,0,
0,1,97,0,0,
380,0,0,11,0,0,29,321,0,0,0,0,0,1,0,
395,0,0,12,0,0,31,333,0,0,0,0,0,1,0,
};
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sqlca.h>
#include <process.h>
int query_all_after();
int query_all_supply();
int query_suppy();
int insert_into_agreement(char* tCustomerID,char* tProviderID,char* tPartID,float tfPrice,float tfQuantity);
int delete_after(char* customerID,char* partID);
int update_supply(char* tProviderID,char* tPartID,float tPrice,float tQuantity);
void advice_bussiness();
int advice_supply(char* ,char* ,char* ,char* );
extern void bus_Menu();
int query_all_after()
{
/* EXEC SQL BEGIN DECLARE SECTION; */
char customerID[10];
char PartID[10];
char Price[8];
char Quantity[8];
/* EXEC SQL END DECLARE SECTION; */
int total_number = 0;
/* EXEC SQL DECLARE advice_after_cursor CURSOR FOR SELECT * FROM After; */
/* EXEC SQL OPEN advice_after_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);
}
while(1)
{
/* EXEC SQL WHENEVER NOT FOUND DO break; */
/* EXEC SQL FETCH advice_after_cursor INTO :customerID,:PartID,:Price,:Quantity; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 10;
sqlstm.arrsiz = 4;
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 *)PartID;
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 *)Price;
sqlstm.sqhstl[2] = (unsigned int )8;
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 *)Quantity;
sqlstm.sqhstl[3] = (unsigned int )8;
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.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;
}
++total_number;
if( total_number == 1 )
{
printf("\n所有的需求信息如下:");
printf("\n\n--- --------- ------------------- ---------------------------- ----------\n");
printf("%-4s%-10s%-10s%-8s%-8s\n","N","customerID","PartID","Price","Quantity");
printf("--- --------- ------------------- ---------------------------- ----------\n");
}/*if*/
printf("%-4d%-10s%-10s%-8s%-8s\n",total_number,customerID,PartID,Price,Quantity);
printf("--- --------- ------------------- ---------------------------- ----------\n");
}/*while*/
/* EXEC SQL CLOSE advice_after_cursor; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 10;
sqlstm.arrsiz = 4;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )51;
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(!total_number)
{
printf("WARING:(query_all_after)There is no after part.\t\n\n");
return -1;
}else
return 0; /*success*/
}/*query_all_after()*/
int query_all_supply()
{
/* EXEC SQL BEGIN DECLARE SECTION; */
char providerID[10];
char PartID[10];
char Price[8];
char Quantity[8];
/* EXEC SQL END DECLARE SECTION; */
int total_number = 0;
/* EXEC SQL DECLARE query_supply_cursor CURSOR FOR SELECT * FROM Supply; */
/* EXEC SQL OPEN query_supply_cursor; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 10;
sqlstm.arrsiz = 4;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = sq0002;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )66;
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);
}
while(1)
{
/* EXEC SQL WHENEVER NOT FOUND DO break; */
/* EXEC SQL FETCH query_supply_cursor INTO :providerID,:PartID,:Price,:Quantity; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 10;
sqlstm.arrsiz = 4;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )81;
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 *)providerID;
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 *)PartID;
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 *)Price;
sqlstm.sqhstl[2] = (unsigned int )8;
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( void *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned int )0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -