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

📄 basedb.h

📁 vc开发的一个cmpp(中国移动点对点通讯)通讯程序
💻 H
字号:
// BaseDB.h: interface for the CBaseDB class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_BASEDB_H__0C16AB21_4A8E_11D3_A1BC_0000E83E4191__INCLUDED_)
#define AFX_BASEDB_H__0C16AB21_4A8E_11D3_A1BC_0000E83E4191__INCLUDED_

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

#define  MAXBUFF           256
#define SQL_TYPE                 1
#define C_TYPE                   2
#define TYPENAME                 35
#define MAXBYTES                 10000

#ifdef _USRDLL
#define _DLLAPI			__declspec( dllexport )
#else
#define _DLLAPI			//__declspec( dllexport )
#endif

//*--------------------------------------------------------------------
//|  METADATA:
//|   This structure contains the meta data about each column in the
//|      results set.  This information can be easily retrieved using
//|      SQLColAttribute or SQLDescribeCol.
//*--------------------------------------------------------------------
typedef struct tagCOLATTRIBDATA 
{
   CString     szColumnName;           // Name of the column
   char        szTypeName[TYPENAME];   // ODBC type name
   SDWORD      fSqlType;               // Numeric SQL type
   UDWORD      precision;              // Precision of the data type
   SWORD       scale;                  // Scale of the data type
   int         cbDisplaySize;          // How many bytes to display
   UINT        fAlign;                 // What alignment to take
   int         xCol;                   // x offset from 0 for column
   UINT        cColWidth;              // Width of column in pixels
   UINT        cbOffset;               // Byte offset in row storage
} COLATTRIBDATA;

typedef struct tagFIELDSDATA
{
	char	*pFieldsData;
} DB_FIELDS_DATA,*pDB_FIELDS_DATA;

typedef struct tagFIELDSBINDDATA
{
	char	*pFieldsData;
	SDWORD  sReturnLen;
} DB_FIELDS_BIND_DATA,*pDB_FIELDS_BIND_DATA;

LPSTR GetTypeName(int type, int fType);

class _DLLAPI CBaseDB  
{
public:
	CDatabase	*m_pDatabase;
	HSTMT		m_hstmt;
	short		m_nFieldCols;
	CString		m_strConnect ;
    //CTypedPtrArray <CPtrArray, pDB_FIELDS_DATA> m_aData;
    CArray <pDB_FIELDS_DATA, pDB_FIELDS_DATA> m_aData;
	COLATTRIBDATA  *m_pstFieldColAttrib;

public:
	void SetConnectString();
	CString GetCurrentTime();
	CBaseDB();
	CBaseDB(CDatabase *pDatabase);
	virtual ~CBaseDB();
	virtual BOOL	Open();
	virtual void	Reset();
	virtual BOOL	FetchAllData();
	int		RowCount();
	LPSTR	GetFieldValue(int iRow,CString szFieldName);
	LPSTR	GetFieldValue(CString szFieldName);
	LPSTR	GetFieldValue(int iRow,int iCol);
	LPSTR	GetFieldValue(int iCol);
	void	ShowResults(char *szCondition=NULL,int icol=0);
	void	SetDatabase(CDatabase *pDatabase);
	BOOL	FetchNext();

	BOOL	GetColAttrib();
	BOOL	SetColAttrib(int iCol, LPSTR szCol,LPSTR szTypeName,
		SDWORD fSqlType, UDWORD precision, SWORD scale,int cbDisplay, UINT fAlign);
};

#endif // !defined(AFX_BASEDB_H__0C16AB21_4A8E_11D3_A1BC_0000E83E4191__INCLUDED_)

⌨️ 快捷键说明

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