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

📄 db.c

📁 linux平台下用C开发的一个超市管理系统(结合了ORACLE数据库)
💻 C
📖 第 1 页 / 共 5 页
字号:
***********************************************************************/
int getgoods_by_saleID(C_CLASS LINKLIST *mylink,char *saleID)
{
	GOODS p;
	GOD temp;
	/* EXEC SQL WHENEVER SQLERROR GOTO error; */ 
	/* EXEC SQL WHENEVER NOT FOUND GOTO not_find; */ 
	/* EXEC SQL DECLARE sd_cursor CURSOR FOR	
	SELECT  bar_code,amount FROM  t_sales_detail	WHERE  SALE_ID=:saleID; */ 
	/* EXEC SQL OPEN  sd_cursor; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = sq0012; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )254; 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  *)saleID; 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.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 error;}
	while(1)
	{
		if (sqlca.sqlcode==0)
		{
			/* EXEC SQL FETCH sd_cursor into
			:temp.bar_code,:temp.num; */ {   struct sqlexd sqlstm;   sqlstm.sqlvsn = 10;   sqlstm.arrsiz = 7;   sqlstm.sqladtp = &sqladt;   sqlstm.sqltdsp = &sqltds;   sqlstm.iters = (unsigned int  )1;   sqlstm.offset = (unsigned int  )273;   sqlstm.cud = sqlcud0;   sqlstm.sqlest = (unsigned char  *)&sqlca;   sqlstm.sqlety = (unsigned short)256;   sqlstm.occurs = (unsigned int  )0;   sqlstm.sqhstv[0] = (         void  *)(temp.bar_code);   sqlstm.sqhstl[0] = (unsigned int  )9;   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  *)&(temp.num);   sqlstm.sqhstl[1] = (unsigned int  )sizeof(int);   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.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_find;   if (sqlca.sqlcode < 0) goto error;}
			/* EXEC SQL SELECT * INTO :p FROM t_goods WHERE  bar_code=:temp.bar_code; */ {   struct sqlexd sqlstm;   sqlstm.sqlvsn = 10;   sqlstm.arrsiz = 9;   sqlstm.sqladtp = &sqladt;   sqlstm.sqltdsp = &sqltds;   sqlstm.stmt = "select * into :s1 ,:s2 ,:s3 ,:s4 ,:s5 ,:s6 ,:s7 ,:s8   fr\om t_goods where bar_code=:b1";   sqlstm.iters = (unsigned int  )1;   sqlstm.offset = (unsigned int  )296;   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  *)p.bar_code;   sqlstm.sqhstl[0] = (unsigned int  )9;   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  *)p.goods_name;   sqlstm.sqhstl[1] = (unsigned int  )31;   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  *)p.unit;   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  *)p.spec;   sqlstm.sqhstl[3] = (unsigned int  )17;   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  *)&p.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  *)&p.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  *)&p.stock;   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  *)&p.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.sqhstv[8] = (         void  *)(temp.bar_code);   sqlstm.sqhstl[8] = (unsigned int  )9;   sqlstm.sqhsts[8] = (         int  )0;   sqlstm.sqindv[8] = (         void  *)0;   sqlstm.sqinds[8] = (         int  )0;   sqlstm.sqharm[8] = (unsigned int  )0;   sqlstm.sqadto[8] = (unsigned short )0;   sqlstm.sqtdso[8] = (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_find;   if (sqlca.sqlcode < 0) goto error;}
			strcpy(temp.bar_code,p.bar_code);	
			strcpy(temp.goods_name,p.goods_name);	
			strcpy(temp.unit,p.unit);	
			strcpy(temp.spec,p.spec);	
			temp.sale_price=p.sale_price;
			temp.purchase_price=p.purchase_price;
			temp.stock=p.stock;
			temp.discount=p.discount;
			link_insert_rear(mylink,&temp,sizeof(temp));
		}
		else
			break;				
	}
	/* EXEC SQL CLOSE sd_cursor; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 9; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )347; 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 error;}
	return 0;
error:
	/* EXEC SQL WHENEVER SQLERROR CONTINUE; */ 
	/* EXEC SQL ROLLBACK ; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 9; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )362; 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 -1;
not_find:
	return 1;

}
/**********************************************************************
功能:通过条形码获取商品信息
参数:结构体指针,条形码
返回值:0成功 非0失败
***********************************************************************/
int getgoods_by_barcode(GOODS *temp,char *barcode)
{
	/* EXEC SQL WHENEVER SQLERROR GOTO error; */ 
	/* EXEC SQL WHENEVER NOT FOUND GOTO not_find; */ 
	/* EXEC SQL SELECT * INTO :temp
					 FROM  t_goods
					 WHERE  BAR_CODE=:barcode; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 9; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "select * into :s1 ,:s2 ,:s3 ,:s4 ,:s5 ,:s6 ,:s7 ,:s8   from\ t_goods where BAR_CODE=:b1"; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )377; 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  *)temp->bar_code; sqlstm.sqhstl[0] = (unsigned int  )9; 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  *)temp->goods_name; sqlstm.sqhstl[1] = (unsigned int  )31; 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  *)temp->unit; 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  *)temp->spec; sqlstm.sqhstl[3] = (unsigned int  )17; 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  *)&temp->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  *)&temp->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  *)&temp->stock; 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  *)&temp->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.sqhstv[8] = (         void  *)barcode; sqlstm.sqhstl[8] = (unsigned int  )0; sqlstm.sqhsts[8] = (         int  )0; sqlstm.sqindv[8] = (         void  *)0; sqlstm.sqinds[8] = (         int  )0; sqlstm.sqharm[8] = (unsigned int  )0; sqlstm.sqadto[8] = (unsigned short )0; sqlstm.sqtdso[8] = (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_find; if (sqlca.sqlcode < 0) goto error;}
	return 0;
error:
	/* EXEC SQL WHENEVER SQLERROR CONTINUE; */ 
	/* EXEC SQL ROLLBACK ; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 9; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )428; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char  *)&sqlca; sqlstm.sqlety = (unsigned short)256; sqlstm.occurs = (unsigned int  )0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);}
	/*Err_Log(sqlca.sqlerrm.sqlerrmc);*/
	return -1;
not_find:
	return 1;
}
/**********************************************************************
功能:取的4为交易号
参数:交易号
返回值:0成功 非0失败
***********************************************************************/

⌨️ 快捷键说明

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