⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbexmodule.h

📁 wap浏览器 日程安排 Rss 棋牌游戏
💻 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 + -