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

📄 oracledb.c

📁 在linux平台下模拟超市的收银系统即POS机
💻 C
📖 第 1 页 / 共 5 页
字号:
/* 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[12];};static struct sqlcxp sqlfpn ={    11,    "OracleDB.pc"};static unsigned long sqlctx = 157195;static struct sqlexd {   unsigned int   sqlvsn;   unsigned int   arrsiz;   unsigned int   iters;   unsigned int   offset;   unsigned short selerr;   unsigned short sqlety;   unsigned int   occurs;            short *cud;   unsigned char  *sqlest;            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 sqlcxt (/*_ void **, unsigned long *,                   struct sqlexd *, struct sqlcxp * _*/);extern sqlcx2t(/*_ void **, unsigned long *,                   struct sqlexd *, struct sqlcxp * _*/);extern sqlbuft(/*_ void **, char * _*/);extern sqlgs2t(/*_ void **, char * _*/);extern sqlorat(/*_ void **, unsigned long *, void * _*/);/* Forms Interface */static int IAPSUCC = 0;static int IAPFAIL = 1403;static int IAPFTL  = 535;extern void sqliem(/*_ char *, int * _*/); static char *sq0027 = "select *  from staff            "; static char *sq0036 = "select sale_id  from sale where (sale_state=:b0 and staff_id=:b1)          \ "; static char *sq0037 = "select a.bar_code ,a.product_name ,a.unit ,a.spec ,a.sale_price ,b.count  f\rom product a ,sale_detail b where (a.bar_code=b.bar_code and b.sale_id=:b0) \          "; static char *sq0041 = "select B.bar_code ,B.product_name ,B.unit ,B.spec ,B.sale_price ,B.purchase\_price ,B.count ,B.discount ,B.RN  from (select A.* ,rownum RN  from product \A where rownum<=:b0) B where B.RN>=:b1           "; static char *sq0043 = "select B.staff_id ,B.staff_name ,B.staff_pwd ,B.staff_type ,nvl(B.remark,' \') ,B.RN  from (select A.* ,rownum RN  from staff A where rownum<=:b0) B wher\e B.RN>=:b1           "; static char *sq0044 = "select sale_id ,trans_id ,staff_id ,sale_date ,sale_money  from sale where \(sale_date between to_date(:b0,'yyyymmddhh24miss') and to_date(:b1,'yyyymmddh\h24miss') and sale_state=:b2)           "; static char *sq0045 = "select sale_id ,trans_id ,staff_id ,sale_date ,sale_money  from sale where \(staff_id=:b0 and sale_state=:b1)           ";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 short sqlcud0[] ={10,4130,0,0,0,5,0,0,1,61,0,3,14,0,0,8,8,0,1,0,1,97,0,0,1,97,0,0,1,97,0,0,1,97,0,0,1,4,0,0,1,4,0,0,1,3,0,0,1,4,0,0,52,0,0,2,0,0,29,15,0,0,0,0,0,1,0,67,0,0,3,47,0,3,28,0,0,5,5,0,1,0,1,97,0,0,1,97,0,0,1,97,0,0,1,3,0,0,1,97,0,0,102,0,0,4,0,0,29,29,0,0,0,0,0,1,0,117,0,0,5,58,0,4,44,0,0,2,1,0,1,0,2,3,0,0,1,97,0,0,140,0,0,6,56,0,4,65,0,0,2,1,0,1,0,2,3,0,0,1,97,0,0,163,0,0,7,73,0,5,86,0,0,2,2,0,1,0,1,97,0,0,1,97,0,0,186,0,0,8,0,0,29,87,0,0,0,0,0,1,0,201,0,0,9,143,0,5,99,0,0,9,9,0,1,0,1,97,0,0,1,97,0,0,1,97,0,0,1,97,0,0,1,4,0,0,1,4,0,0,1,3,0,0,1,4,0,0,1,97,0,0,252,0,0,10,0,0,29,100,0,0,0,0,0,1,0,267,0,0,11,104,0,5,122,0,0,6,6,0,1,0,1,97,0,0,1,97,0,0,1,97,0,0,1,3,0,0,1,97,0,0,1,97,0,0,306,0,0,12,0,0,29,123,0,0,0,0,0,1,0,321,0,0,13,40,0,2,136,0,0,1,1,0,1,0,1,97,0,0,340,0,0,14,0,0,29,137,0,0,0,0,0,1,0,355,0,0,15,38,0,2,149,0,0,1,1,0,1,0,1,97,0,0,374,0,0,16,0,0,29,150,0,0,0,0,0,1,0,389,0,0,17,57,0,4,164,0,0,2,1,0,1,0,2,97,0,0,1,97,0,0,412,0,0,18,164,0,3,189,0,0,8,8,0,1,0,1,97,0,0,1,97,0,0,1,97,0,0,1,97,0,0,1,4,0,0,1,4,0,0,1,4,0,0,1,3,0,0,459,0,0,19,0,0,29,190,0,0,0,0,0,1,0,474,0,0,20,112,0,5,203,0,0,4,4,0,1,0,1,4,0,0,1,4,0,0,1,4,0,0,1,97,0,0,505,0,0,21,0,0,29,204,0,0,0,0,0,1,0,520,0,0,22,56,0,5,224,0,0,2,2,0,1,0,1,3,0,0,1,97,0,0,543,0,0,23,0,0,29,225,0,0,0,0,0,1,0,558,0,0,24,87,0,4,279,0,0,6,1,0,1,0,2,97,0,0,2,97,0,0,2,97,0,0,2,3,0,0,2,97,0,0,1,97,0,0,597,0,0,25,36,0,2,306,0,0,1,1,0,1,0,1,97,0,0,616,0,0,26,0,0,29,307,0,0,0,0,0,1,0,631,0,0,27,32,0,9,321,0,0,0,0,0,1,0,646,0,0,27,0,0,13,324,0,0,5,0,0,1,0,2,97,0,0,2,97,0,0,2,97,0,0,2,3,0,0,2,97,0,0,681,0,0,27,0,0,15,338,0,0,0,0,0,1,0,696,0,0,28,50,0,4,351,0,0,1,0,0,1,0,2,3,0,0,715,0,0,29,49,0,4,364,0,0,1,0,0,1,0,2,3,0,0,734,0,0,30,57,0,3,375,0,0,6,6,0,1,0,1,97,0,0,1,97,0,0,1,97,0,0,1,3,0,0,1,4,0,0,1,3,0,0,773,0,0,31,0,0,29,376,0,0,0,0,0,1,0,788,0,0,32,69,0,4,406,0,0,6,1,0,1,0,2,97,0,0,2,97,0,0,2,97,0,0,2,3,0,0,2,97,0,0,1,97,0,0,827,0,0,33,86,0,4,430,0,0,9,1,0,1,0,2,97,0,0,2,97,0,0,2,97,0,0,2,97,0,0,2,4,0,0,2,4,0,0,2,3,0,0,2,4,0,0,1,97,0,0,878,0,0,34,77,0,4,448,0,0,3,2,0,1,0,2,3,0,0,1,97,0,0,1,97,0,0,905,0,0,35,139,0,4,480,0,0,4,2,0,1,0,2,3,0,0,2,4,0,0,1,97,0,0,1,97,0,0,936,0,0,36,76,0,9,503,0,0,2,2,0,1,0,1,3,0,0,1,97,0,0,959,0,0,36,0,0,13,508,0,0,1,0,0,1,0,2,97,0,0,978,0,0,36,0,0,15,521,0,0,0,0,0,1,0,993,0,0,37,162,0,9,554,0,0,1,1,0,1,0,1,97,0,0,1012,0,0,37,0,0,13,557,0,0,6,0,0,1,0,2,97,0,0,2,97,0,0,2,97,0,0,2,97,0,0,2,4,0,0,2,3,0,0,1051,0,0,37,0,0,15,572,0,0,0,0,0,1,0,1066,0,0,38,40,0,4,586,0,0,1,0,0,1,0,2,3,0,0,1085,0,0,39,38,0,4,602,0,0,1,0,0,1,0,2,3,0,0,1104,0,0,40,40,0,4,629,0,0,1,0,0,1,0,2,3,0,0,1123,0,0,41,201,0,9,642,0,0,2,2,0,1,0,1,3,0,0,1,3,0,0,1146,0,0,41,0,0,13,645,0,0,9,0,0,1,0,2,97,0,0,2,97,0,0,2,97,0,0,2,97,0,0,2,4,0,0,2,4,0,0,2,3,0,0,2,4,0,0,2,3,0,0,1197,0,0,41,0,0,15,708,0,0,0,0,0,1,0,1212,0,0,42,38,0,4,749,0,0,1,0,0,1,0,2,3,0,0,1231,0,0,43,174,0,9,764,0,0,2,2,0,1,0,1,3,0,0,1,3,0,0,1254,0,0,43,0,0,13,767,0,0,6,0,0,1,0,2,97,0,0,2,97,0,0,2,97,0,0,2,3,0,0,2,97,0,0,2,3,0,0,1293,0,0,43,0,0,15,784,0,0,0,0,0,1,0,1308,0,0,44,192,0,9,838,0,0,3,3,0,1,0,1,97,0,0,1,97,0,0,1,3,0,0,1335,0,0,44,0,0,13,841,0,0,5,0,0,1,0,2,97,0,0,2,97,0,0,2,97,0,0,2,97,0,0,2,4,0,0,1370,0,0,44,0,0,15,860,0,0,0,0,0,1,0,1385,0,0,45,119,0,9,892,0,0,2,2,0,1,0,1,97,0,0,1,3,0,0,1408,0,0,45,0,0,13,895,0,0,5,0,0,1,0,2,97,0,0,2,97,0,0,2,97,0,0,2,97,0,0,2,4,0,0,1443,0,0,45,0,0,15,914,0,0,0,0,0,1,0,1458,0,0,46,0,0,27,932,0,0,4,4,0,1,0,1,97,0,0,1,97,0,0,1,10,0,0,1,10,0,0,1489,0,0,47,0,0,32,935,0,0,0,0,0,1,0,};#include <stdio.h>
#include <sqlcpr.h>
#include <sqlca.h>
#include <sqlda.h>
#include <string.h>
#include "OracleDB.h"



/*插入到product*/
int Insert_Into_Product(char * bar_code,char * product_name,char *unit,char *spec,float sale_price,float purchase_price,int count,float discount)
{
	/* EXEC SQL WHENEVER SQLERROR GOTO INSERT_ERR; */ 
	/* EXEC SQL INSERT INTO product VALUES (:bar_code,:product_name,:unit,:spec,:sale_price,:purchase_price,:count,:discount); */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 8; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "insert into product  values (:b0,:b1,:b2,:b3,:b4,:b5,:b6,:b\7)"; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )5; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char  *)&sqlca; sqlstm.sqlety = (unsigned short)256; sqlstm.occurs = (unsigned int  )0; sqlstm.sqhstv[0] = (         void  *)bar_code; 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  *)product_name; 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  *)unit; 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  *)spec; sqlstm.sqhstl[3] = (unsigned int  )0; 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  *)&purchase_price; sqlstm.sqhstl[5] = (unsigned int  )sizeof(float); 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  *)&count; sqlstm.sqhstl[6] = (unsigned int  )sizeof(int); 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  *)&discount; sqlstm.sqhstl[7] = (unsigned int  )sizeof(float); 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.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 = 8; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )52; 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 1;/*正常插入*/
INSERT_ERR:
	/* EXEC SQL WHENEVER SQLERROR CONTINUE; */ 
	
	return 0;/*出错*/
} 


/*添加员工到staff表中*/
int Insert_Into_Staff(char * staff_id,char * staff_name,char * staff_pwd,int staff_type, char * remark)
{
	/* EXEC SQL WHENEVER SQLERROR GOTO INSERT_ERR; */ 
	/* EXEC SQL INSERT INTO staff VALUES (:staff_id,:staff_name,:staff_pwd,:staff_type,:remark); */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 8; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "insert into staff  values (:b0,:b1,:b2,:b3,:b4)"; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )67; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char  *)&sqlca; sqlstm.sqlety = (unsigned short)256; sqlstm.occurs = (unsigned int  )0; sqlstm.sqhstv[0] = (         void  *)staff_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  *)staff_name; 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  *)staff_pwd; 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  *)&staff_type; sqlstm.sqhstl[3] = (unsigned int  )sizeof(int);

⌨️ 快捷键说明

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