📄 basedb.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 + -