📄 hopekingrecordset.h
字号:
#if !defined(AFX_HOPEKINGRECORDSET_H__C7D3515A_2D09_431D_82C2_EC6F991E73C6__INCLUDED_)
#define AFX_HOPEKINGRECORDSET_H__C7D3515A_2D09_431D_82C2_EC6F991E73C6__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// HopeKingRecordset.h : header file
//
#include "unibus.h"
#define SQLTEXT 0x23
#define SQLVARBINARY 0x25
#define SQLINTN 0x26
#define SQLVARCHAR 0x27
#define SQLBINARY 0x2d
#define SQLIMAGE 0x22
#define SQLCHARACTER 0x2f
#define SQLINT1 0x30
#define SQLBIT 0x32
#define SQLINT2 0x34
#define SQLINT4 0x38
#define SQLMONEY 0x3c
#define SQLDATETIME 0x3d
#define SQLFLT8 0x3e
#define SQLFLTN 0x6d
#define SQLMONEYN 0x6e
#define SQLDATETIMN 0x6f
#define SQLFLT4 0x3b
#define SQLMONEY4 0x7a
#define SQLDATETIM4 0x3a
#define SQLDECIMAL 0x37
#define SQLDECIMALN 0x6a
#define SQLNUMERIC 0x3f
#define SQLNUMERICN 0x6c
/////////////////////////////////////////////////////////////////////////////
// CHopeKingRecordset recordset
union ODBCDATA{
CString * m_pString;
BYTE * m_pByte;
int * m_pInt;
float * m_pFloat;
double * m_pDouble;
CTime * m_pTime;
CByteArray * m_pByteArray;
CLongBinary * m_pLongBinary;
BOOL * m_pBool;
long * m_pLong;
};
/*
//excute sql flags
const nWantResult 0x10000
const nNoResult 0x00000
//excute sql flags
const nPamTypePointed 0x20000
const nPamTypeNopointed 0x00000
//excute sql flags
const nNoReturn 0x40000
const nNeedReturn 0x00000
//excute sql flags
const nProcedureName 0x0000
const nTableName 0x1000
const nSqlClause 0x2000
//table move flags
const nMoveFirst 0
const nMoveLast 1
const nMoveNext 2
const nMovePrev 3
*/
//CFieldExchange::outputColumn,0
//CFieldExchange::inputParam,1
//CFieldExchange::param,2
//CFieldExchange::outputParam,3
//CFieldExchange::inoutParam,4
class COdbcData{
public:
COdbcData(){m_iType=-1;m_Data.m_pByte=NULL;m_iFieldType=0;m_szName=NULL;};
~COdbcData(){ClearData();};
ODBCDATA m_Data;
short int m_iType;
short int m_iFieldType;
char * m_szName;
void SetFieldType(int iftype){
m_iFieldType=iftype;
};
void SetName(LPCTSTR lpszName){
}
void SetType(int itype);
void ClearData();
void SetValue(UniVar & uv,int type=-1);
void GetValue(UniVar & uv);
};
class CHopeKingRecordset : public CRecordset,public CAsynWorker
{
public:
CHopeKingRecordset(CDatabase* pDatabase = NULL);
~CHopeKingRecordset(){RealCloseSql();};
DECLARE_DYNAMIC(CHopeKingRecordset)
// Field/Param Data
//{{AFX_FIELD(CHopeKingRecordset, CRecordset)
//}}AFX_FIELD
int m_iCmdType,m_iPreDefColNum,m_iParamNum,m_iMaxDefaultColumns,m_iMaxDefaultParam;
BOOL m_bHasRet;
COdbcData m_Ret;
COdbcData * m_pDefaultColum;
COdbcData * m_pParam;
BOOL SetFileExchange(CFieldExchange* pFX,COdbcData & Data,BOOL bSet=FALSE);
BOOL ExcuteSql(LPCTSTR lpszSql,int iCmdType);
void CloseSql();
void RealCloseSql();
void SetParaNum(int);
void SetParamValue(int idex,LPCTSTR lpszValue);
void SetParamValue(int idex,int iValue);
void SetParamValue(int idex,bool bValue);
void SetParamValue(int idex,long lValue);
void SetParamValue(int idex,float fValue);
void SetParamValue(int idex,double dValue);
void SetParamValue(int idex,BYTE btValue);
void SetParamValue(int idex,CTime & ctValue);
CString GetParamValueS(int idex);
int GetParamValueI(int i);
void SetParamValue(int idx,UniVar & uv,int type=-1);
void GetParamValue(int idx,UniVar & uv);
CString GetResultValueS(int idex);
int GetResultValueI(int i);
void GetResultValue(int idx,UniVar & uv);
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CHopeKingRecordset)
public:
virtual CString GetDefaultConnect(); // Default connection string
virtual CString GetDefaultSQL(); // Default SQL for Recordset
virtual void DoFieldExchange(CFieldExchange* pFX); // RFX support
virtual void PreBindFields(); // called before data fields are bound
//}}AFX_VIRTUAL
// Implementation
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_HOPEKINGRECORDSET_H__C7D3515A_2D09_431D_82C2_EC6F991E73C6__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -