📄 sample4.sqc.bak
字号:
/*
作者:ddxkxk
ddxxkk@21cn.com
*/
/* sample.nmk
all:sample4.dll
sample4.ccs : sample4.sqc;
db2 connect to cicstest
db2 prep sample4.sqc bindfile
db2 bind sample4.bnd
db2 grant execute on package sample4 to public
del sample4.ccs
ren sample4.c sample4.ccs
sample4.dll:sample4.ccs;
set CICS_MSG_FILAGS=-I%db2path%\include
set USERLIB=%db2path%\lib\db2api.lib easycics.obj
set USERLIB=%db2path%\lib\db2api.lib easycics.obj
cicstcl -e -d -lC sample4.ccs
del sample4.ccs
*/
/*
其中VC中的INCLUDE/sql.h要更名或删除
*/
//连接DB2数据库并取一个结果集的例子
#include "easycics.h"
#include <sql.h>
#define SQLNOTFOUND 100
EXEC SQL INCLUDE sqlca;
//定义宿主变量
EXEC SQL BEGIN DECLARE SECTION;
long id;
char loginid[11];
char passwd[11];
long rules;
char username[11];
short testnull;
EXEC SQL END DECLARE SECTION;
int main(int argc, char *argv[])
{
char statusbuf[1024], s[8];
if( InitEasyCics()) ExitEasyCics();
BeginWrite();
RsCreate(5);
PrintStatus("sample4 begin");
SetValue( "NAME", "SAMPLE4");
//定义游标
EXEC SQL DECLARE c1 CURSOR FOR SELECT ID,LOGINID,PASSWD,RULES,USERNAME FROM USERLIST;
//打开游标
EXEC SQL OPEN c1;
sprintf(statusbuf,"open cursor code=%d\n", sqlca.sqlcode);
PrintStatus(statusbuf);
//取数据
do
{
EXEC SQL FETCH c1 INTO :id,:loginid,:passwd,:rules,:username:testnull;
sprintf(statusbuf,"fetch code=%d\n", sqlca.sqlcode);
PrintStatus(statusbuf);
if( (sqlca.sqlcode == SQLNOTFOUND) || (sqlca.sqlcode <0) )
break;
else
RsAddRow();
sprintf( s, "%6d",id);
RsSetCol( 1,s);
RsSetCol( 2,loginid);
RsSetCol( 3,passwd);
sprintf( s, "%6d",rules);
RsSetCol( 4,s );
if (testnull==0)
{
RsSetCol( 5,username);
}
else
{
RsSetCol( 5,"NONE");
};
RsSaveRow();
}
while (1);
EXEC SQL CLOSE c1;
PrintStatus("sample4 end");
ExitEasyCics();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -