📄 recset.h
字号:
// RecSet.h: interface for the CRecSet class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_RECSET_H__12B9A0C5_2399_11D3_9EEB_0000E8509A6A__INCLUDED_)
#define AFX_RECSET_H__12B9A0C5_2399_11D3_9EEB_0000E8509A6A__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "SQLSetX.h"
#define SQL_SQL_NCHAR (-8)
#define SQL_SQL_NVARCHAR (-9)
#define SQL_SQL_NTEXT (-10)
#define SQL_ORA_LOB (0)
#define _IS_NO_USE_ 0
#define _IS_EDIT_ 1
#define _IS_VIEW_ 2
#define MAX_REC_NUMBER 1000000000
#define MAXRKEYS 32
class CBaseMeta ;
class CRecSet : public CSQLSetX
{
public:
CRecSet(CDatabaseX* pDatabase, char *tableName, char *aliaName);
virtual ~CRecSet();
public:
BOOL Open(char *sql);
BOOL BatchUpdateRelatedTables();
BOOL BatchDeleteRelatedTables();
BOOL batchUpdate(CString &where, char *str, char *alia, char *tab,
int nf, CString *flds, BYTE *chg, char *ind);
BOOL batchDelete(CString &where, char *str, char *alia, char *trueName,
int nf, CString *flds, char *ind);
void putRelFldNewData(int ic, char *str);
BOOL keepRelFieldData(int ir);
BOOL putData(int icolumn, char *str);
int getData(int icolumn, int irow, char *str);
void deleteVars();
CDatabaseX *m_pDatabase;
CString m_aliaTableName; //假名
CString m_trueTableName; //原始表
SQLSMALLINT m_nFields;
CStringArray m_strName; //字符串名字
CStringArray m_Name; //带[]号的名字
CStringArray m_strType; //原始类型
CStringArray m_strTable; //原始表
CPtrArray m_Value;
CPtrArray m_oValue;
CUIntArray m_Width;
CUIntArray m_Type;
BOOL nullable[256];
BOOL m_sel[256];
int nrow;
int rrow;
CString where;
CString fldsNotes;
CString m_strFilter; // Where clause
CString m_strSort; // Order By Clause
BOOL m_autoReOpen;
CMyByteArray *pByteArray;
CString *pStr;
BOOL *pBool;
BYTE *pByte;
TIMESTAMP_STRUCT *ts;
DATE_STRUCT *date;
TIME_STRUCT *time;
int *pInt;
long *pLong;
float *pFloat;
double *pDouble;
CBaseMeta *metas[50][256];
BYTE chged[256];
char needGet[256];
//用于保存记录改变前的"被关联字段"的数据
int nRelFlds;
CString relFldName[MAXRKEYS];
CString relFldOdata[MAXRKEYS];
CString relFldNdata[MAXRKEYS];
BYTE relFldchanged[MAXRKEYS];
BYTE rowIdVar[256];
BYTE autoVar[256];
BYTE chkVar[256];
CString defaultValue[256];
CString keyf[MAXRKEYS];
int nkf;
// Field/Param Data
//{{AFX_FIELD(CRecSet, CSQLSet)
//}}AFX_FIELD
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CRecSet)
public:
virtual void DoFieldExchange(CFieldExchange* pFX); // RFX support
virtual void OnSetOptions(HSTMT hstmt);
//}}AFX_VIRTUAL
};
#endif // !defined(AFX_RECSET_H__12B9A0C5_2399_11D3_9EEB_0000E8509A6A__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -