📄 oracledb.c
字号:
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 + -