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

📄 oracledb.c

📁 在linux平台下模拟超市的收银系统即POS机
💻 C
📖 第 1 页 / 共 5 页
字号:
	return 0;
DEL_ERR:
	/* EXEC SQL WHENEVER SQLERROR CONTINUE; */ 
	return -1;	
}



void select_staff_all_data()
{
	staff s;
	/* EXEC SQL WHENEVER SQLERROR GOTO SELECT_ALL_ERR; */ 
	/* EXEC SQL DECLARE cur_all_data CURSOR FOR select * from staff; */ 
	/* EXEC SQL OPEN cur_all_data; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 9; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = sq0027; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )631; 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); if (sqlca.sqlcode < 0) goto SELECT_ALL_ERR;}
	while(1)
	{
		/* EXEC SQL FETCH cur_all_data INTO :s; */ {  struct sqlexd sqlstm;  sqlstm.sqlvsn = 10;  sqlstm.arrsiz = 9;  sqlstm.sqladtp = &sqladt;  sqlstm.sqltdsp = &sqltds;  sqlstm.iters = (unsigned int  )1;  sqlstm.offset = (unsigned int  )646;  sqlstm.cud = sqlcud0;  sqlstm.sqlest = (unsigned char  *)&sqlca;  sqlstm.sqlety = (unsigned short)256;  sqlstm.occurs = (unsigned int  )0;  sqlstm.sqhstv[0] = (         void  *)s.id;  sqlstm.sqhstl[0] = (unsigned int  )7;  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  *)s.name;  sqlstm.sqhstl[1] = (unsigned int  )16;  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  *)s.pwd;  sqlstm.sqhstl[2] = (unsigned int  )17;  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  *)&s.type;  sqlstm.sqhstl[3] = (unsigned int  )sizeof(int);  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  *)s.remark;  sqlstm.sqhstl[4] = (unsigned int  )31;  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.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 < 0) goto SELECT_ALL_ERR;}
		if(sqlca.sqlcode==0)  /*sqlca是通讯区,里边保存的是一些错误信息,其本身是一个结构体*/
		{
			printf("ID: %s\n",s.id);
			printf("name: %s\n",s.name);
			printf("pwd: %s\n",s.pwd);
			printf("type: %d\n",s.type);
			printf("remark: %s\n",s.remark);
		}else
		{
			break;
		}
	}
	printf("%s",sqlca.sqlerrm.sqlerrmc);
	/* EXEC SQL CLOSE cur_all_data; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 9; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )681; 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 SELECT_ALL_ERR;}
	return;
SELECT_ALL_ERR:

	/* EXEC SQL WHENEVER SQLERROR CONTINUE; */ 
	return;
}

/*取得明细序列*/
int Get_Detail_Seque()
{
	int seq_id;
	/* EXEC SQL WHENEVER SQLERROR GOTO GET_SEQUE_ERR; */ 
	/* EXEC SQL SELECT seq_detail_id.nextval INTO :seq_id FROM dual; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 9; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "select seq_detail_id.nextval  into :b0  from dual "; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )696; 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  *)&seq_id; sqlstm.sqhstl[0] = (unsigned int  )sizeof(int); 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.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 < 0) goto GET_SEQUE_ERR;}
	return seq_id;
GET_SEQUE_ERR:
	/* EXEC SQL WHENEVER SQLERROR CONTINUE; */ 
	return -1;
}


/*取得交易序列*/
int Get_Trans_Seque()
{
	int seq_id;
	/* EXEC SQL WHENEVER SQLERROR GOTO GET_SEQUE_ERR; */ 
	/* EXEC SQL SELECT seq_trans_id.nextval INTO :seq_id FROM dual; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 9; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "select seq_trans_id.nextval  into :b0  from dual "; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )715; 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  *)&seq_id; sqlstm.sqhstl[0] = (unsigned int  )sizeof(int); 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.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 < 0) goto GET_SEQUE_ERR;}
	return seq_id;
GET_SEQUE_ERR:
	/* EXEC SQL WHENEVER SQLERROR CONTINUE; */ 
	return -1;
}

/*插入到销售明细表*/
int Insert_To_Sale_Detail(char * detail_id,char * sale_id,char *bar_code,int count,float sale_price,int state)
{
	/* EXEC SQL WHENEVER SQLERROR GOTO INSERT_ERR; */ 
	/* EXEC SQL INSERT INTO sale_detail VALUES (:detail_id,:sale_id,:bar_code,:count,:sale_price,:state); */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 9; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "insert into sale_detail  values (:b0,:b1,:b2,:b3,:b4,:b5)"; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )734; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char  *)&sqlca; sqlstm.sqlety = (unsigned short)256; sqlstm.occurs = (unsigned int  )0; sqlstm.sqhstv[0] = (         void  *)detail_id; sqlstm.sqhstl[0] = (unsigned int  )0; 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  *)sale_id; sqlstm.sqhstl[1] = (unsigned int  )0; 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  *)bar_code; sqlstm.sqhstl[2] = (unsigned int  )0; 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  *)&count; sqlstm.sqhstl[3] = (unsigned int  )sizeof(int); 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  *)&sale_price; sqlstm.sqhstl[4] = (unsigned int  )sizeof(float); 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  *)&state; sqlstm.sqhstl[5] = (unsigned int  )sizeof(int); 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.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 < 0) goto INSERT_ERR;}
	/* 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  )773; 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 INSERT_ERR;} /*当插入或删除的时候要提交事务*/
	return 0;/*正常插入*/
INSERT_ERR:
	/* EXEC SQL WHENEVER SQLERROR CONTINUE; */ 
	error_login(sqlca.sqlerrm.sqlerrmc,"errlog.txt",0);
	return -1;/*出错*/
}

/*员工表结构*/
/*typedef struct staff
{
	char id[7];
	char name[16];
	char pwd[17];
	int type;
	char remark[31];
}staff;
*/

/*取得指定ID的员工信息*/
int Get_Staff_By_ID(char * staff_id,staff * pStaff)
{
	/*error_login(staff_id,"errlog.txt",0);*/
	memset(pStaff->id,'\0',sizeof(pStaff->id));/*将id字段置成'\0'*/
	memset(pStaff->name,'\0',sizeof(pStaff->name));/*将name字段置成'\0'*/
	memset(pStaff->pwd,'\0',sizeof(pStaff->pwd));/*将pwd字段置成'\0'*/
	memset(pStaff->remark,'\0',sizeof(pStaff->remark));/*将remark字段置成'\0'*/

	/* EXEC SQL WHENEVER SQLERROR GOTO GET_INFO_ERR; */ 
	/* EXEC SQL WHENEVER NOT FOUND GOTO NOT_FOUND; */ 
	/* EXEC SQL SELECT * INTO :pStaff FROM staff WHERE staff_id=:staff_id; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 9; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "select * into :s1 ,:s2 ,:s3 ,:s4 ,:s5   from staff where st\aff_id=:b1"; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )788; 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  *)pStaff->id; sqlstm.sqhstl[0] = (unsigned int  )7; 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  *)pStaff->name; sqlstm.sqhstl[1] = (unsigned int  )16; 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[

⌨️ 快捷键说明

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