📄 dbexmodule.h
字号:
/************************************************************************
支持长连接和短连接两种方式
调用Run()为长连接方式
************************************************************************/
#ifndef _DBEXMODULE_H_
#define _DBEXMODULE_H_
#include <afx.h>
#include <afxmt.h>
#include <afxwin.h>
#include "SQL.h"
#include "SQLEXT.h"
#define MakeECTFError(errorid) (0x10000 + errorid)
//PBL errror macro
#define PBL_Error_ECTF_OK 0x0
#define PBL_Error_ECTF_Fail MakeECTFError( 0x00d )
#define PBL_Error_ECTF_NODATA MakeECTFError( 0x00e )
//PBL error macro
#define PBL_Error_OK PBL_Error_ECTF_OK
#define PBL_Error_FAIL PBL_Error_ECTF_Fail
#define PBL_Error_NODATA PBL_Error_ECTF_NODATA
class TDBPEx
{
public:
TDBPEx(CString _name,
CString _Database,
CString _Username,
CString _Password,
CString _logdir = "");
~TDBPEx();
void Log(LPCTSTR fmt , ...);
void SetDatabase(CString _Database);
void SetUsername(CString _Username);
void SetPassword(CString _Password);
CString GetDatabase();
CString GetUsername();
CString GetPassword();
BOOL IsReady();
BOOL IsConnect();
ULONG Run();
ULONG Connect();
ULONG DisConnect();
ULONG SQLExecDirect(CString text,BOOL freeflag = TRUE,BOOL writelogflag = TRUE);
ULONG SQLFetch();
ULONG SQLGetDataUInt(ULONG ColumnNumber,ULONG& value);
ULONG SQLGetDataSInt(ULONG ColumnNumber,short& value);
ULONG SQLGetDataStr(ULONG ColumnNumber,CString& value);
ULONG SQLGetDataUCArray(ULONG ColumnNumber,unsigned char* value,ULONG Nelems);
ULONG SQLGetDataUBigInt(ULONG ColumnNumber,__int64& value);
ULONG SQLGetDataChar(ULONG ColumnNumber,char& value);
ULONG SQLFreeStmt(ULONG Option = SQL_CLOSE);
private:
ULONG DoDBPCheckLinkRun();
private:
CString name;
CString Database;
CString Username;
CString Password;
CString logfile;
CWinThread *thread;
SQLHANDLE henv;
SQLHANDLE hdbc;
SQLHANDLE hstmt;
CCriticalSection lock;
BOOL DBInitFlag; //true:初始化成功 false:初始化失败
BOOL DBConnFlag; //true:连接成功 false:连接失败
friend UINT do_DBPCheckLinkRun(LPVOID pParam)
{
TDBPEx* dbp = (TDBPEx *)pParam;
return dbp ? dbp->DoDBPCheckLinkRun() : PBL_Error_FAIL;
}
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -