📄 user_log.pc
字号:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <strings.h>#include <math.h>#include <pthread.h>#include "sqlca.h"#include "sqlda.h"#include "const.h"static char *connect="dbuser/oracle";int DbsConnect(){ EXEC SQL connect :connect; return(sqlca.sqlcode);}int DbsUSER_LOG_CUR_Static(int func, char *user, char *content){ switch(func) { case DBS_OPEN: EXEC SQL declare ul_static_cur cursor for select content from user_log where loginname=:user order by log_id desc ; EXEC SQL open ul_static_cur; SQL_CODE_PROCESS("USER_LOG", "OPN"); case DBS_FETCH: EXEC SQL fetch ul_static_cur into :content; SQL_CODE_PROCESS("USER_LOG", "FET"); case DBS_CLOSE: EXEC SQL close ul_static_cur; SQL_CODE_PROCESS("USER_LOG", "CLS"); default: return(DB_DBSFUNCERR); }}int DbsUSER_LOG_PARTITION_CUR_Part(int func, char *user, char *content){ switch(func) { case DBS_OPEN: EXEC SQL declare ulp_part_cur cursor for select content from user_log_partition where loginname=:user order by log_id desc ; EXEC SQL open ulp_part_cur; SQL_CODE_PROCESS("USER_LOG_PARTITION", "OPN"); case DBS_FETCH: EXEC SQL fetch ulp_part_cur into :content; SQL_CODE_PROCESS("USER_LOG_PARTITION", "FET"); case DBS_CLOSE: EXEC SQL close ulp_part_cur; SQL_CODE_PROCESS("USER_LOG_PARTITION", "CLS"); default: return(DB_DBSFUNCERR); }}int DbsUSER_LOG_CUR_Dyna(int func, char *sql, char *content){ switch(func) { case DBS_OPEN: EXEC SQL prepare ul_dyna_stmt from :sql; EXEC SQL declare ul_dyna_cur cursor for ul_dyna_stmt; EXEC SQL open ul_dyna_cur; SQL_CODE_PROCESS("USER_LOG", "OPN"); case DBS_FETCH: EXEC SQL fetch ul_dyna_cur into :content; SQL_CODE_PROCESS("USER_LOG", "FET"); case DBS_CLOSE: EXEC SQL close ul_dyna_cur; SQL_CODE_PROCESS("USER_LOG", "CLS"); default: return(DB_DBSFUNCERR); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -