c语言解析sql语句_在C语言中嵌入SQL语句

#define    EXTERN

#include   "btpcomm.h"

#include   "btpcmmcr.h"

#include   "sqlenv.h"

main()

{

EXEC SQL INCLUDE SQLCA;

EXEC SQL BEGIN DECLARE SECTION ;

char     txnbrh[12+1];

char     txndt[10+1];

long     txncnt;

EXEC SQL END DECLARE SECTION;

EXEC SQL update gcdgbnk set devlogrrn=0 where 1=1;

if ((sqlca.sqlcode != 0 ) && (sqlca.sqlcode != 100))

{

sprintf( cGlbWk, "update gcdgbnk err %d", sqlca.sqlcode );

BtpApDisp( cPrgID, cGlbWk );

BtpBatReturn(BATPROCDRUNERR, "数据库操作失败");

return(-1);

}

EXEC SQL INSERT INTO nmgtact SELECT brhid, :txndt, count(*), sum(txnamt)

FROM gctact

WHERE txndate = :txndt

AND   mchtype = '6050'

AND   revcd   = '0'

GROUP BY brhid;

if ((sqlca.sqlcode != 0 ) && (sqlca.sqlcode != 100))

{

sprintf( cGlbWk, "insert into nmgtact err %d", sqlca.sqlcode );

BtpApDisp( cPrgID, cGlbWk );

BtpBatReturn(BATPROCDRUNERR, "数据库操作失败");

return(-1);

}

BtpBatReturn(BATPROCDRUNOK, "");

return;

}

静态嵌入SQL语句的应用程序:

1)include语句定义并描叙了SQLCA的结构。SQLCA用于应用程序和数据库之间的通讯,其中SQLCODE返回SQL语句执行后的结果状态。

2)在BEGIN   DECLARE   SECTION和END   DECLARE   SECTION之间定义了宿主变量。宿主变量可被SQL语句引用,也可以被C语言语句引用。它用于将程序中的数据通过SQL语句传给数据库管理器,或从数据库管理器接收查询的结果。在SQL语句中,主变量前均有“:”标志以示区别

3)在gctact中选择brhid,插入nmgtact表;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值