📄 oracle.h
字号:
#ifndef _ORACLE_H#define _ORACLE_H#include "oci.h"#define DWORD dword#define HRESULT sword#define BOOL boolean#define SUCCEEDED(Status) ((HRESULT)(Status) >= 0)#define FAILED(Status) ((HRESULT)(Status)<0)#define SQL_TYPE_STR '1'#define SQL_TYPE_INT '2'#define SQL_TYPE_FLT '3'#define SQL_TYPE_DBL '4'#define SQL_TYPE_DATE '5'typedef struct{ OCIEnv* m_hpEnv; OCIServer* m_hpServer; OCIError* m_hpErr; OCISvcCtx* m_hpContext; OCISession* m_hpSession; char m_szError[512]; char **m_pOracleTypes; int m_auto_commit; //OdbContext *m_po;}DB_INFO;typedef struct{ char name[50]; dvoid* pBuffer; ub2 wType; ub2 wSize; ub2 wLen; sb2 nInd; char m_type;}BindField;typedef struct{ int FieldCount, RecCount; char **FieldValues; OCIStmt *m_hpSelect; DB_INFO *pdb; BindField **m_BindFields;}DB_QUERY_INFO;int db_init(DB_INFO *pdb_info);int db_exit(DB_INFO *pdb_info);int db_set_auto_commit(DB_INFO *, int if_auto);int db_connect(DB_INFO *pdb_info, char *server, char *user, char *pass);int db_close(DB_INFO *pdb_info);int db_exec(DB_INFO *pdb_info, char *stmt);char *db_get_error_string(DB_INFO *pdb_info);int db_begin_trans(DB_INFO *pdb_info);int db_roll_back(DB_INFO *pdb_info);int db_commit(DB_INFO *pdb_info);void CheckErr(DB_INFO *pdb, HRESULT status );int db_query_init( DB_QUERY_INFO *, DB_INFO *pdb);void db_query_close( DB_QUERY_INFO *pquery);int db_query_select(DB_QUERY_INFO *pquery, char *stmt);int db_query_fetch(DB_QUERY_INFO *pquery);BOOL db_query_is_eos(DB_QUERY_INFO *pquery);/* bind long or varchar2 string */int db_exec_bind_long(DB_INFO *pdb, char *sql_stmt, int count, char **long_values, int *long_sizes);char *get_field_value(DB_QUERY_INFO *, int);char *get_field_value2(DB_QUERY_INFO *, int, char *);char *get_field_value_by_name(DB_QUERY_INFO *, char *);char *get_field_value_by_name2(DB_QUERY_INFO *, char *fname, char *buf);char *db_get_error_string(DB_INFO *);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -