📄 database_op.h
字号:
/*
database_op.h
负责兼容 sybase 和 oracle对数据库的操作
*/
#define ORACLE_PLATFORM
#ifdef SYBASE_PLATFORM
/*
* sybase ,源代码基于sybase 编写,所以此处不需要额外的定义
*/
#include "sybfront.h"
#include "sybdb.h"
#pragma message("Here is SYBASE_PLATFORM !")
#else
/*
* oracle
*/
#ifdef ORACLE_PLATFORM
#include <sqlcpr.h>
#include <sqlda.h>
#include "SQLCA.h"
#ifdef __cplusplus
extern "C"{
#endif
typedef void *DBVOIDPTR;
typedef void DBPROCESS ;
typedef void LOGINREC ;
typedef long RETCODE ;
typedef char DBCHAR ;
typedef long DBINT ;
typedef unsigned char BYTE;
typedef int STATUS ;
typedef RETCODE (*DB_LRESPONSE_FUNC)();
#define TRUE (unsigned char)1
#define FALSE (unsigned char)0
#define SUCCEED (RETCODE)1
#define FAIL (RETCODE)0
#define NO_MORE_RESULTS 2
#define MORE_ROWS -1
#define NO_MORE_ROWS -2
#define REG_ROW MORE_ROWS
#define BUF_FULL -3
#define INT_EXIT 0
#define INT_CONTINUE 1
#define INT_CANCEL 2
#define INT_TIMEOUT 3
#define SQLDATALEN 4096
/*
#define NOBIND -1
#define TINYBIND 1
#define SMALLBIND 2
#define INTBIND 3
#define CHARBIND 4
#define TEXTBIND 5
#define BINARYBIND 6
#define ARRAYBIND 7
#define BITBIND 8
#define DATETIMEBIND 9
#define MONEYBIND 10
#define FLT8BIND 11
#define STRINGBIND 12
#define NTBSTRINGBIND 13
#define VARYCHARBIND 14
#define VARYBINBIND 15
#define SMALLDATETIMEBIND 16
#define SMALLMONEYBIND 17
#define REALBIND 18
#define NUMERICBIND 19
#define DECIMALBIND 20
#define SENSITIVITYBIND 21
#define BOUNDARYBIND 22
*/
#define INTBIND 3
#define CHARBIND 4
#define NTBSTRINGBIND 13
/* Maximum number of select-list items or bind variables. */
#define MAXPOINTNUM 256
typedef unsigned char DBBOOL;
#define DBSAVE 1
#define DBNOSAVE 0
#define DBNOERR -1
#define DBSETUSER 2
#define DBSETPWD 3
#define DBSETLUSER(a,b) dbsetlname((a), (b), DBSETUSER)
#define DBSETLPWD(a,b) dbsetlname((a), (b), DBSETPWD)
#define DBDEAD(a) dbdead(a)
typedef int (*EHANDLEFUNC) (DBPROCESS *dbproc, int severity,int dberr,int oserr,char *dberrstr,char *oserrstr);
typedef int (*MHANDLEFUNC) (DBPROCESS *dbproc, DBINT msgno, int msgstate,int severity,char *msgtext,char *srvname,char *procname, int line);
/*
* 下列函数需要实现与sybase相似的语义!
*/
RETCODE dbinit (void);
EHANDLEFUNC dberrhandle (EHANDLEFUNC handler);
MHANDLEFUNC dbmsghandle (MHANDLEFUNC handler);
LOGINREC * dblogin (void);
RETCODE dbsetlname (LOGINREC *lptr,char *name,int type);
DBPROCESS *dbopen (LOGINREC *logon_ptr,char *servername);
void dbloginfree (LOGINREC *loginptr);
RETCODE dbcmd (DBPROCESS *dbproc,const char *cmdstring);
RETCODE dbsqlexec (DBPROCESS *dbproc);
RETCODE dbresults (DBPROCESS *dbproc);
RETCODE dbbind (DBPROCESS *dbproc,int column,int vartype,DBINT varlen,BYTE *destvar);
int dbnumcols (DBPROCESS *dbproc);
STATUS dbnextrow (DBPROCESS *dbproc);
DBBOOL dbdead (DBPROCESS *a);
void dbexit (void);
#ifdef __cplusplus
}
#endif
#pragma message("Here is ORACLE_PLATFORM !")
#else
#ifdef MSSQL_PLATFORM
/*
* mssql
*/
#include ".h"
#pragma message("Here is MSSQL_PLATFORM !")
#endif
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -