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

📄 posbackoracle.c

📁 一个不错的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[17];};static struct sqlcxp sqlfpn ={    16,    "posBackOracle.pc"};static unsigned long sqlctx = 5145379;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 *sq0029 = "select *  from sale where (to_char(SALE_DATE,'yyyymmdd')>=:b0 and to_char(S\ALE_DATE,'yyyymmdd')<=:b1)           "; static char *sq0030 = "select *  from sale where staff_id=: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 short sqlcud0[] ={10,4130,0,0,0,5,0,0,1,133,0,3,38,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,40,0,0,0,0,0,1,0,67,0,0,3,0,0,31,46,0,0,0,0,0,1,0,82,0,0,4,0,0,31,51,0,0,0,0,0,1,0,97,0,0,5,43,0,4,60,0,0,1,1,0,1,0,1,97,0,0,116,0,0,6,40,0,2,77,0,0,1,1,0,1,0,1,97,0,0,135,0,0,7,0,0,29,78,0,0,0,0,0,1,0,150,0,0,8,0,0,31,84,0,0,0,0,0,1,0,165,0,0,9,0,0,31,89,0,0,0,0,0,1,0,180,0,0,10,89,0,4,112,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,231,0,0,11,141,0,5,166,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,282,0,0,12,0,0,29,167,0,0,0,0,0,1,0,297,0,0,13,0,0,31,172,0,0,0,0,0,1,0,312,0,0,14,0,0,31,177,0,0,0,0,0,1,0,327,0,0,15,47,0,3,199,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,362,0,0,16,0,0,29,201,0,0,0,0,0,1,0,377,0,0,17,0,0,31,207,0,0,0,0,0,1,0,392,0,0,18,0,0,31,212,0,0,0,0,0,1,0,407,0,0,19,46,0,4,219,0,0,1,1,0,1,0,1,97,0,0,426,0,0,20,38,0,2,234,0,0,1,1,0,1,0,1,97,0,0,445,0,0,21,0,0,29,235,0,0,0,0,0,1,0,460,0,0,22,0,0,31,241,0,0,0,0,0,1,0,475,0,0,23,0,0,31,246,0,0,0,0,0,1,0,490,0,0,24,73,0,4,269,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,529,0,0,25,104,0,5,311,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,568,0,0,26,0,0,29,315,0,0,0,0,0,1,0,583,0,0,27,0,0,31,321,0,0,0,0,0,1,0,598,0,0,28,0,0,31,326,0,0,0,0,0,1,0,613,0,0,29,112,0,9,341,0,0,2,2,0,1,0,1,97,0,0,1,97,0,0,636,0,0,29,0,0,13,347,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,4,0,0,2,4,0,0,2,3,0,0,687,0,0,29,0,0,15,363,0,0,0,0,0,1,0,702,0,0,29,0,0,15,374,0,0,0,0,0,1,0,717,0,0,30,49,0,9,387,0,0,1,1,0,1,0,1,97,0,0,736,0,0,30,0,0,13,392,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,4,0,0,2,4,0,0,2,3,0,0,787,0,0,30,0,0,15,408,0,0,0,0,0,1,0,802,0,0,30,0,0,15,416,0,0,0,0,0,1,0,};#include "posBackOracle.h"
#include "pub.h"
#include <sqlca.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>




int addproduct(struct barinformation * barInfo)
{
	char bar_code[10];
	char product_name[32];
	char unit[18];
	char spec[18];	
	char tmp[40]={0};
	float sale_price=0.0f;	
	float purchase_price=0.0f;		
	float discount=0.0f; 
	int num=0;
	memset(bar_code,0,sizeof(bar_code));
	memset(product_name,0,sizeof(product_name));
	memset(unit,0,sizeof(unit));
	memset(spec,0,sizeof(spec));
	makelog("debug.log","add product found!>>>>>>>");
	strcpy(bar_code,barInfo->bar_code);
	strcpy(product_name,barInfo->product_name);
	strcpy(unit,barInfo->unit);
	strcpy(spec,barInfo->spec);
	sale_price=barInfo->sale_price;
	purchase_price=barInfo->purchase_price;
	discount=barInfo->discount;
	num=barInfo->num;

	/* EXEC SQL WHENEVER NOT FOUND GOTO not_found; */ 
	/* EXEC SQL WHENEVER SQLERROR GOTO sqlerr; */ 
	/* EXEC SQL INSERT INTO product(bar_code,product_name,unit,spec,sale_price,purchase_price,num,discount) VALUES(:bar_code,:product_name,:unit,:spec,:sale_price,:purchase_price,:num,:discount); */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 8; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "insert into product (bar_code,product_name,unit,spec,sale_p\rice,purchase_price,num,discount) values (:b0,:b1,:b2,:b3,:b4,:b5,:b6,:b7)"; 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  )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  *)product_name; sqlstm.sqhstl[1] = (unsigned int  )32; 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  )18; 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  )18; 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  *)&num; 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 == 1403) goto not_found; if (sqlca.sqlcode < 0) goto sqlerr;}
	makelog("debug.log","add product found!!!!!!!!");
	/* 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 sqlerr;}
	return 0;

 not_found:
	makelog("debug.log","add product found");
	/* EXEC SQL WHENEVER NOT FOUND CONTINUE; */ 
	/* EXEC SQL ROLLBACK; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 8; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; 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; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); if (sqlca.sqlcode < 0) goto sqlerr;}
    return -1;
 sqlerr:
	makelog("debug.log",sqlca.sqlerrm.sqlerrmc);
	/* EXEC SQL WHENEVER SQLERROR CONTINUE; */ 
	/* EXEC SQL ROLLBACK; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 8; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )82; 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 -2;
}

int IsInDB(char * barcode)
{
	
	/* EXEC SQL WHENEVER NOT FOUND goto not_found; */ 
	/* EXEC SQL WHENEVER SQLERROR	goto sqlerr; */ 
	/* EXEC SQL SELECT num FROM PRODUCT WHERE bar_code=:barcode; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 8; sqlstm.sqladtp = &sqladt;

⌨️ 快捷键说明

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