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

📄 sh_database.h

📁 rsa算法打的一个包
💻 H
字号:
// SH_Database.h: interface for the SH_Database class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SH_DATABASE_H__7114FB0E_B717_494F_BFE2_0ACA1A76A24A__INCLUDED_)
#define AFX_SH_DATABASE_H__7114FB0E_B717_494F_BFE2_0ACA1A76A24A__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "SH_String.h"
#include "SH_List.h"

/*libSH ODBC interface*/
#define SH_DBFIELD_LEN 129

class AFX_EXT_CLASS SH_Database  
{
public:
    typedef struct _SH_Field
    {
	    char   szName[SH_DBFIELD_LEN];
        int    nPos;
	    int    nType;
	    int    nLen;
	    void * pUserData;
    }SH_Field;

    typedef struct _SH_Table
    {
	    char               szName[SH_DBFIELD_LEN];
	    SH_List<SH_Field*> m_FieldList;
    }SH_Table;

public:
	SH_Database();
	virtual ~SH_Database();

    void Clear();
	BOOL FetchEnd();
	BOOL FetchBegin();
	BOOL BindCol(int nIndex,int nType,void * pValue,int nLen);
    BOOL BindCol(LPCTSTR szTable,LPCTSTR szField,void * pValue,int nLen);
	BOOL BindCol(LPCTSTR szTable,LPCTSTR szField,int nType,void * pValue,int nLen);
	BOOL MovePrev();
	BOOL MoveNext();
	BOOL MoveLast();
	BOOL MoveFirst();
	BOOL Fetch();
	BOOL GetRowCount(int * pnCount);
	BOOL ExecuteSQL(LPCTSTR lpszSQL,int nStrLen);
	BOOL SUCCEED(SQLRETURN sr);
    BOOL OpenEx(LPCTSTR szDSN,int nTimeout=5);
	BOOL Open(LPCTSTR szDatabase,LPCTSTR szUID="",LPCTSTR szPWD="",int nTimeout=5);
	void Close();

    virtual BOOL GetDriver() { return FALSE;}
    virtual BOOL IsSystemTable(LPCTSTR lpszTable) { return FALSE;} 

	LPCTSTR GetDatabase(void) { return (LPCTSTR)m_strDatabase;}
	void    SetDatabase(LPCTSTR lpszDatabase) { m_strDatabase = lpszDatabase;}

    virtual void SetDSN(LPCTSTR lpszDatabase) {m_strDSN = lpszDatabase;}
    LPCTSTR GetDSN(void) { return (LPCTSTR)m_strDSN;};

	LPCTSTR GetUID(void) { return (LPCTSTR)m_strUID;}
	void    SetUID(LPCTSTR szUID) { m_strUID = szUID;}

	LPCTSTR GetPWD(void) { return (LPCTSTR)m_strPWD;}
	void    SetPWD(LPCTSTR szPWD) { m_strPWD = szPWD;}

	int     GetTimeout(void) { return m_nTimeout;}
	void    SetTimeout(int nTimeout) { m_nTimeout = nTimeout;}
    BOOL    GetColumns(); 
public:
	BOOL Execute(SH_String strSQL);
	BOOL Execute(LPCTSTR lpszSQL,int nLen);
    SH_List<SH_Table*> m_TableList;

protected:
	SH_String   m_strDSN;
	SH_String   m_strUID;
	SH_String   m_strPWD;
    SH_String   m_strDatabase;
    SH_String   m_strDriver;

	SH_String   m_strSQL;

	int       m_nTimeout;

	SQLHANDLE m_hEnv;
	SQLHANDLE m_hConn;
	SQLHANDLE m_hStmt;

private:
	SH_Field *  FindField(LPCTSTR lpszTable,LPCTSTR lpszField);
	SH_Field *  FindField(SH_Table *  pTable,LPCTSTR lpszField);
   	SH_Table *  FindTable(LPCTSTR lpszTable);
	SH_Field *  AppendField(SH_Table *  pTable,LPCTSTR lpszField);
	SH_Table *  AppendTable(LPCTSTR lpszTable);

};
#endif // !defined(AFX_SH_DATABASE_H__7114FB0E_B717_494F_BFE2_0ACA1A76A24A__INCLUDED_)

⌨️ 快捷键说明

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