|
/*#include <decimal.h>#include <stdio.h>#include <string.h>#include <string.h>#include <string.h>#include <string.h>#include <stdlib.h>#include <sqlca.h>#include <sqlda.h>#include <sqltypes.h>#include <sqlstype.h>*/$include "BAT_EXEC.h";/************************************************** Fuction :打印月报表 * Inputs : * Outputs :文件 * Return : 0 -- 成功,-1 -- 失败* Author : 张同操 20080311 *************************************************/$typedef struct s_fsi_gal{char name[10+1];double cash;double trans;double sum;};/* * Function : main() * Description : 主函数 * Input : * Output : * Return : 0 -- 成功 * -1 -- 失败*/int main(argc,argv)int argc;char ** argv;{FILE *fp;$DATABASE "fsi";$struct s_fsi_gal gal;if(sqlca.sqlcode){printf("数据库连接错误 [%s] [%s]",__FILE__,__LINE__);return (-1);}$DECLARE ztc_cur CURSOR FOR SELECT a.name, sum(case when b.csh_ts_flg='0' then b.amt else 0.00 end) , sum(case when b.csh_ts_flg='1' then b.amt else 0.00 end) , sum(b.amt) from t_fsi_gal b, t_fsi_inst a where b.succ_flg='0' and a.fsi_no = b.fsi_no group by b.fsi_no,a.name;if(sqlca.sqlcode){printf("游标创建错误 [%s] [%s]",__FILE__,__LINE__);return (-1);} $OPEN ztc_cur; if(sqlca.sqlcode) {printf("游标打开错误 [%s] [%s]",__FILE__,__LINE__);return (-1); } fp=fopen("t.txt","w"); if(fp == NULL) {printf("文件创建错误 [%s] [%s]",__FILE__,__LINE__);return(-1); } fprintf(fp,"所\t现金\t转帐\t合计\t\n"); fprintf(fp,"-----------------------------------------------------------------\n"); while(1) { memset(&gal,0,sizeof(gal));$FETCH ztc_cur INTO :gal;if(sqlca.sqlcode == 100){$CLOSE ztc_cur;$FREE ztc_cur;break;}if(sqlca.sqlcode!=0){printf("数据读取错误 [%s] [%s]",__FILE__,__LINE__);$CLOSE ztc_cur;$FREE ztc_cur;break;}fprintf(fp,"%s%10.2f%10.2f%10.2f\n",gal.name,gal.cash,gal.trans,gal.sum); }fclose(fp);$CLOSE DATABASE;return (0);} |
|