📄 tlr_cursor.pc
字号:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <tlr.h>
EXEC SQL BEGIN DECLARE SECTION;
char usrname[10];
char usrpwd[10];
EXEC SQL END DECLARE SECTION;
EXEC SQL INCLUDE sqlca;
int
main()
{
EXEC SQL BEGIN DECLARE SECTION;
struct s_tlr_mgmt tlr_mgmt;
EXEC SQL END DECLARE SECTION;
FILE *fp;
memset( &tlr_mgmt, 0, sizeof( struct s_tlr_mgmt ) );
memset( usrname, 0, sizeof( usrname ) );
memset( usrpwd, 0, sizeof( usrpwd ) );
strcpy( usrname, "cbsdb" );
strcpy( usrpwd, "cbsdb" );
EXEC SQL CONNECT :usrname IDENTIFIED BY :usrpwd;
printf( "Oracle Connected by %s\n", usrname );
if( ( fp = fopen( "/home/cbs20/tmp/YYF/tlr_no.txt" ,"w" ) ) == NULL )
{
printf( " 打开文件错,无法读入\n" );
}
EXEC SQL DECLARE tlr_cursor CURSOR FOR
SELECT TLR_NO, TLR_NAME, INST_NO, BOX_NO
FROM BAK_TLR_MGMT_04
WHERE TLR_NO LIKE '10%' ;
if( sqlca.sqlcode != 0 )
{
printf( "游标打开出错\n" );
return( -1 );
}
EXEC SQL OPEN tlr_cursor;
printf( "\n 柜员号10开头的职员信息\n");
printf( "--------------------------------------------------------------\n" );
while( 1 )
{
EXEC SQL FETCH tlr_cursor
INTO :tlr_mgmt.tlr_no, :tlr_mgmt.tlr_name, :tlr_mgmt.inst_no, :tlr_mgmt.box_no;
if( sqlca.sqlcode == 1403 || sqlca.sqlcode == 100 )
{
break;
}
else
if( sqlca.sqlcode != 0 )
{
printf( " 读取数据错\n" );
continue;
}
else
{
printf( "tlr_no\ttlr_name\tinst_no\tbox_no\n" );
printf( "----\t----------\t----\t-----\n" );
printf( "%s\t%s\t%s\t%d\n", tlr_mgmt.tlr_no, tlr_mgmt.tlr_name, tlr_mgmt.inst_no,tlr_mgmt.box_no );
fprintf( fp, "%s\t%s\t%s\t%d\n", tlr_mgmt.tlr_no,tlr_mgmt.tlr_name,tlr_mgmt.inst_no,tlr_mgmt.box_no );
}
}
EXEC SQL CLOSE tlr_cursor;
fclose( fp );
EXEC SQL COMMIT WORK RELEASE;
return( 0 );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -