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

📄 db.h

📁 墨香最新私服
💻 H
字号:
//////////////////////////////////////////////////////////////////////
// Coolwater.Fire version 2001.1.15
// Ultimate Database Gasoline Engine
// If it does not work correctly, plz enter www.coolwater.fire.com 
// 
// programed by Park Sung Jun 
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_DB_H__1E9DC62E_BDF3_4845_B9CC_EE225C7914D5__INCLUDED_)
#define AFX_DB_H__1E9DC62E_BDF3_4845_B9CC_EE225C7914D5__INCLUDED_

#pragma once

#include "stdafx.h"
#include <sql.h>
#include <sqlext.h>
#include <initguid.h>

///////////////////////////////////////////////////////////////////////////////////////////////////////
/* ÁÖÀÇ!!!!!!!!!!!!!!!!!!!!!!
	¾Æ·¡ define µÈ °ªµéÀº ÀÌ °ªÀ» ¹Ù²Û´Ù°í ÇØ¼­ ½ÇÁ¦ ¹Ù²î´Â °ÍÀÌ ¾Æ´Õ´Ï´Ù.
	½ÇÁ¦ °ªÀº DLL ³»ºÎ¿¡ Á¤ÀûÀ¸·Î Á¤ÀǵǾî ÀÖ±â ‹š¹®¿¡ º¯°æÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù.
	ÀÌ´Â Äõ¸® °á°ú¿¡ µû¶ó ¸Þ¸ð¸® ÇÒ´çÇÏ´Â ºÎºÐÀÌ Á¤ÀûÀÎ °Í°ú µ¿ÀûÀÎ °Í µÎ°¡Áö µ¿½Ã¿¡ Æ÷ÇÔÇϱ⠶§¹®ÀÔ´Ï´Ù.
*/

#pragma pack(push, 1)



#define STR_LEN 256
#define MSG_BUF_SIZE 256
#define MAX_LENGTH_QUERY 3072
#define MAX_COL_LENGTH 17	//º¸ÅëÀÇ Ä®·³³»¿ëÀÇ ÃÖ´ë ±æÀÌ 
#define MAX_COL_NAME_LENGTH 24	//º¸ÅëÀÇ Ä®·³À̸§ÀÇ ÃÖ´ë ±æÀÌ 
#define	MAX_NUM_SQL_CONNECTION			5
#define MAX_COL_NUM 60 // Äõ¸® °á°úÀÇ ÃÖ´ë Ä®·³¼ö 
#define MAX_ROW_NUM 100 // Çѹø Äõ¸®¿¡ ÃÖ´ë·Î ºÒ·¯¿À´Â ·¹ÄÚµå ¼ö 

#define MAX_LARGECOL_LENGTH 6144	//º¸ÅëÀÇ Ä®·³³»¿ëÀÇ ÃÖ´ë ±æÀÌ 
#define MAX_LARGECOL_NUM 20 // Äõ¸® °á°úÀÇ ÃÖ´ë Ä®·³¼ö 

#define MAX_MIDDLECOL_LENGTH 311	//º¸ÅëÀÇ Ä®·³³»¿ëÀÇ ÃÖ´ë ±æÀÌ 
#define MAX_MIDDLECOL_NUM 20 // Äõ¸® °á°úÀÇ ÃÖ´ë Ä®·³¼ö
#define MAX_MIDDLEROW_NUM 20 // Çѹø Äõ¸®¿¡ ÃÖ´ë·Î ºÒ·¯¿À´Â ·¹ÄÚµå ¼ö 



///////////////////////////////////////////////////////////////////////////////////////////////////////

typedef void (*VOIDFUNC)(void);

// ¾²·¹µù Ȱ¿ëÀ§ÇÑ ±¸Á¶Ã¼
typedef struct {
	DWORD				dwMessageID;		// ¸Þ¼¼Áö °íÀ¯¾ÆÀ̵ð, ¸»ÇÏÀÚ¸é 󸮹øÈ£.
	BOOL				bNotifyOnlyError;	// ÀÌ °ªÀÌ ÂüÀ̸é ÇØ´çÇÔ¼ö ½ÇÇàÈÄ¿¡ ¿¡·¯°¡ ¹ß»ýÇÒ °æ¿ì¿¡¸¸ °íÁö
	LPVOID				pData;				// 󸮸¦ ¿øÇÏ´Â ÀԷµ¥ÀÌÅÍÀÇ Æ÷ÀÎÅÍ
	BYTE				bFNNo;				// Æã¼Ç¹øÈ£..°á±¹ ÀÌ·± Ä¡Á¹ÇÑ º¡¹ýÀ» ¾²°Ô µÇ´Â±º..-_-;;
	DWORD				dwResult;			// Çʿ信 µû¶ó ÀÌ °ªÀ» ¾´´Ù.

	DWORD				dwID;
} DBMESSAGE, *LPDBMESSAGE;

struct DESC_DBTHREAD
{
	BYTE		bUsingThread;
	BYTE		bUsingDLL;
	BYTE		bUsingEventObject;
	HWND		hWndToPostMessage;
    void		(*ReadDBResult)(DWORD ret,  LPDBMESSAGE pMessage);
	void		(*WriteMessage)(char* pmsg);
	
	DWORD		dwMessageMaxSize;		// DBMESSAGE ±¸Á¶Ã¼ÀÇ ÃÖ´ë Å©±â
	DWORD		dwNumofMessage;			// ÃÖ´ë µ¿½Ã Äõ¸® °¡´É °¹¼ö 
	DWORD		dwResultMaxSize;		// Äõ¸® °á°úÀÇ ÃÖ´ë »çÀÌÁî(select¹®)
	DWORD		dwNumofResult;			// Äõ¸® °á°úÀÇ ÃÖ´ë °¹¼ö  (select¹®)
	DWORD		dwSizeofStack;			// Äõ¸®½Ã ÀÔ·ÂÇÑ ÀÎÀÚ¸¦ À§ÇÑ ¸Þ¸ð¸® Å©±â 
	DWORD		dwDBMessageID;

	char		Default_User_table[128];
	char		Default_User_account[128];
	char		Default_User_pw[128];
	char		Default_User_guid[128];
	char		AdminID[128];
	char		ClientID[128];
	char		AdminPW[128];
	char		ClientPW[128];
	char		DBName[128];
	char		AdminCursor[128];
	char		ClientCursor[128];

};



typedef struct {
	LPDBMESSAGE	lpDBMessage;
	DWORD		Ret;
} DBRESULTMESSAGE, *LPDBRESULTMESSAGE;



typedef struct
{
	char Data1[MAX_COL_LENGTH];
} DBDATA1, *LPDATA1;
typedef struct
{
	char Data1[MAX_COL_LENGTH];
	char Data2[MAX_COL_LENGTH];
} DBDATA2, *LPDATA2;
typedef struct
{
	char Data1[MAX_COL_LENGTH];
	char Data2[MAX_COL_LENGTH];
	char Data3[MAX_COL_LENGTH];
} DBDATA3, *LPDATA3;
typedef struct
{
	char Data1[MAX_COL_LENGTH];
	char Data2[MAX_COL_LENGTH];
	char Data3[MAX_COL_LENGTH];
	char Data4[MAX_COL_LENGTH];
} DBDATA4, *LPDATA4;
typedef struct
{
	char Data1[MAX_COL_LENGTH];
	char Data2[MAX_COL_LENGTH];
	char Data3[MAX_COL_LENGTH];
	char Data4[MAX_COL_LENGTH];
	char Data5[MAX_COL_LENGTH];
} DBDATA5, *LPDATA5;
typedef struct
{
	char Data1[MAX_COL_LENGTH];
	char Data2[MAX_COL_LENGTH];
	char Data3[MAX_COL_LENGTH];
	char Data4[MAX_COL_LENGTH];
	char Data5[MAX_COL_LENGTH];
	char Data6[MAX_COL_LENGTH];
} DBDATA6, *LPDATA6;
typedef struct
{
	char Data1[MAX_COL_LENGTH];
	char Data2[MAX_COL_LENGTH];
	char Data3[MAX_COL_LENGTH];
	char Data4[MAX_COL_LENGTH];
	char Data5[MAX_COL_LENGTH];
	char Data6[MAX_COL_LENGTH];
	char Data7[MAX_COL_LENGTH];
} DBDATA7, *LPDATA7;
typedef struct
{
	char Data1[MAX_COL_LENGTH];
	char Data2[MAX_COL_LENGTH];
	char Data3[MAX_COL_LENGTH];
	char Data4[MAX_COL_LENGTH];
	char Data5[MAX_COL_LENGTH];
	char Data6[MAX_COL_LENGTH];
	char Data7[MAX_COL_LENGTH];
	char Data8[MAX_COL_LENGTH];
} DBDATA8, *LPDATA8;
typedef struct
{
	char Data1[MAX_COL_LENGTH];
	char Data2[MAX_COL_LENGTH];
	char Data3[MAX_COL_LENGTH];
	char Data4[MAX_COL_LENGTH];
	char Data5[MAX_COL_LENGTH];
	char Data6[MAX_COL_LENGTH];
	char Data7[MAX_COL_LENGTH];
	char Data8[MAX_COL_LENGTH];
	char Data9[MAX_COL_LENGTH];
} DBDATA9, *LPDATA9;
typedef struct
{
	char Data1[MAX_COL_LENGTH];
	char Data2[MAX_COL_LENGTH];
	char Data3[MAX_COL_LENGTH];
	char Data4[MAX_COL_LENGTH];
	char Data5[MAX_COL_LENGTH];
	char Data6[MAX_COL_LENGTH];
	char Data7[MAX_COL_LENGTH];
	char Data8[MAX_COL_LENGTH];
	char Data9[MAX_COL_LENGTH];
	char Data10[MAX_COL_LENGTH];
} DBDATA10, *LPDATA10;

typedef struct
{
	TCHAR	szDBName[STR_LEN];			// data source name, configured through control panel
	TCHAR	szID[STR_LEN];				// Login user name
	TCHAR	szPW[STR_LEN];				// Login user password
	SQLHDBC	hDBC;						// handle to an ODBC database connection
	HSTMT	hStmt;						// an ODBC statement handle, for use with SQLExecDirect
	TCHAR	szCursorName[STR_LEN];		// Ä¿¼­ À̸§ 
	int		nCursorNum;					// ÇöÀç Ä¿¼­ÀÇ À§Ä¡
	HSTMT	hScrollStmt;
} DBCON, *LPDBCON;

// ÀÚÀ¯ Äõ¸®¹® ½ÇÇà½Ã¿¡ ¸®ÅϵǴ Æ÷ÀÎÅÍ ±¸Á¶Ã¼ 
typedef struct
{
	UCHAR   Data[MAX_COL_NUM][MAX_COL_LENGTH];  // Results Data Array
	SDWORD  Length[MAX_COL_NUM];			// Results Data Length Array
	int		nNum;							// Ä®·³ÀÇ °¹¼ö 
} QUERYST, *LPQUERY;
// ÀÚÀ¯ Äõ¸®¹® ½ÇÇà½Ã¿¡ ¸®ÅϵǴ Æ÷ÀÎÅÍ ±¸Á¶Ã¼ 
typedef struct
{
	UCHAR   Data[MAX_LARGECOL_NUM][MAX_LARGECOL_LENGTH];  // Results Data Array
	SDWORD  Length[MAX_LARGECOL_NUM];			// Results Data Length Array
	int		nNum;							// Ä®·³ÀÇ °¹¼ö 
} LARGEQUERYST, *LPLARGEQUERY;
// ÀÚÀ¯ Äõ¸®¹® ½ÇÇà½Ã¿¡ ¸®ÅϵǴ Æ÷ÀÎÅÍ ±¸Á¶Ã¼ 
typedef struct
{
	UCHAR   Data[MAX_MIDDLECOL_NUM][MAX_MIDDLECOL_LENGTH];  // Results Data Array
	SDWORD  Length[MAX_MIDDLECOL_NUM];			// Results Data Length Array
	int		nNum;							// Ä®·³ÀÇ °¹¼ö 
} MIDDLEQUERYST, *LPMIDDLEQUERY;
// ¸Þ¸ð¸® µ¿ÀûÇÒ´çÀ» À§ÇÑ Äõ¸® ±¸Á¶Ã¼
typedef struct
{
	int		nNum;							// Ä®·³ÀÇ °¹¼ö 
	LPVOID	pData;
	LPVOID	pLength;
} QUERYDA, *LPQUERYDA;

typedef struct
{
	UCHAR	 szData[MAX_COL_LENGTH];
} DBSTRING, *LPDBSTRING;

typedef struct
{
	SDWORD	 pLeng;
} DBSDWORD, *LPDBSDWORD;

typedef struct
{
	int			nNumData;
	int			nColNum;
	LPVOID		pData[MAX_ROW_NUM];
	SQLSMALLINT QueryType[MAX_COL_NUM];
} BINDST, *LPBIND;

typedef struct
{
	UCHAR		Data[MAX_COL_NUM][MAX_COL_LENGTH];  // Results Data Array
	SDWORD		Length[MAX_COL_NUM];				// Results Data Length Array
	SDWORD		LengthRead[MAX_COL_NUM];			// Results Data Length Array
} ROWWISEBIND, *LPROWWISEBIND;


// ¾²·¹µù¿ë ÀÎÀÚ ±¸Á¶Ã¼ 
typedef struct
{
	LPDBCON pCon;
	char	szBuffer[MAX_LENGTH_QUERY];
	DWORD	dwNumRow;
} DBFreeQuery, *LPDBFreeQuery;
typedef struct
{
	LPDBCON pCon;
	char	szTable[MAX_COL_NAME_LENGTH];
	DWORD	dwValue;
	char	lpCol[MAX_COL_NAME_LENGTH];
	SQLSMALLINT	sqltype;
} DBSingleQuery, *LPDBSingleQuery;
typedef struct
{
	LPDBCON pCon;
	char	szBuffer[MAX_LENGTH_QUERY];
	LPBIND	lpBind;
	int		StSize;
	SQLSMALLINT	sqlType;
	int		rowset;
} DBGenerateResultSet, *LPDBGenerateResultSet;
typedef struct
{
	LPDBCON pCon;
	char	szQuery[MAX_LENGTH_QUERY];
} DBExcuteIUD, *LPDBExcuteIUD;
typedef struct
{
	LPDBCON pCon;
	char	szTableName[MAX_COL_NAME_LENGTH];
	char	lpCol[MAX_COL_NAME_LENGTH];
	char	lpValue[MAX_COL_LENGTH];
	char	DestCol[MAX_COL_NAME_LENGTH];
	char	DestValue[MAX_COL_LENGTH];
} DBUpdateRecord, *LPDBUpdateRecord;
typedef struct
{
	LPDBCON pCon;
	char	szTableName[MAX_COL_NAME_LENGTH];
	char	lpCol[MAX_COL_NAME_LENGTH];
	char	lpValue[MAX_COL_LENGTH];
} DBDeleteRecord, *LPDBDeleteRecord;
typedef struct
{
	LPDBCON pCon;
	char	szTableName[MAX_COL_NAME_LENGTH];
	LPVOID	lpCol;
	LPVOID	lpValue;
	BYTE	bNumData;
} DBInsertRecord, *LPDBInsertRecord;
typedef struct
{
	LPDBCON pCon;
	char	szTableName[MAX_COL_NAME_LENGTH];
	char	pColID[MAX_COL_NAME_LENGTH];
	char	pColPW[MAX_COL_NAME_LENGTH];
	char	pID[MAX_COL_NAME_LENGTH];
	char	pPW[MAX_COL_NAME_LENGTH];
	char	pRetCol[MAX_COL_NAME_LENGTH];
	LPVOID	pRetValue;
	int		iLength;
	SQLSMALLINT sqlType;
} DBLogin, *LPDBLogin;
typedef struct
{
	LPDBCON pCon;
	char	pID[MAX_COL_NAME_LENGTH];
	char	pPW[MAX_COL_NAME_LENGTH];
	LPVOID	pRetValue;
} DBSimpleLogin, *LPDBSimpleLogin;

typedef struct
{
	LPDBCON pCon;
	char	szQuery[MAX_LENGTH_QUERY];
	int		nSize;
	LPVOID	pPara;
	long	nBuffersize;
	LPVOID	pSettingData;
} DBSaveDataByPtr, *LPDBSaveDataByPtr;

typedef struct
{
	LPDBCON pCon;
	char	szQuery[MAX_LENGTH_QUERY];
	int		nSize;
	LPVOID	pData;
} DBLoadDataByPtr, *LPDBLoadDataByPtr;

#pragma pack(pop)


#endif // !defined(AFX_DB_H__1E9DC62E_BDF3_4845_B9CC_EE225C7914D5__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -