?? afxdao.h
字號:
virtual void ThrowDaoException(int nError = NO_AFX_DAO_ERROR);
};
////////////////////////////////////////////////////////////////////////
// CDaoQueryDef - a DAO QueryDef
class CDaoQueryDef : public CObject
{
DECLARE_DYNAMIC(CDaoQueryDef)
// Constructors
public:
CDaoQueryDef(CDaoDatabase* pDatabase);
virtual void Create(LPCTSTR lpszName = NULL,
LPCTSTR lpszSQL = NULL);
virtual void Append();
virtual void Open(LPCTSTR lpszName = NULL);
virtual void Close();
// Attributes
public:
CDaoDatabase* m_pDatabase;
DAOQueryDef* m_pDAOQueryDef;
BOOL CanUpdate();
CString GetName();
void SetName(LPCTSTR lpszName);
CString GetSQL();
void SetSQL(LPCTSTR lpszSQL);
short GetType();
COleDateTime GetDateCreated();
COleDateTime GetDateLastUpdated();
CString GetConnect();
void SetConnect(LPCTSTR lpszConnect);
short GetODBCTimeout();
void SetODBCTimeout(short nODBCTimeout);
BOOL GetReturnsRecords();
void SetReturnsRecords(BOOL bReturnsRecords);
long GetRecordsAffected();
BOOL IsOpen() const;
// Operations
public:
virtual void Execute(int nOptions = dbFailOnError);
virtual COleVariant GetParamValue(LPCTSTR lpszName);
virtual COleVariant GetParamValue(int nIndex);
virtual void SetParamValue(LPCTSTR lpszName,
const COleVariant& varValue);
virtual void SetParamValue(int nIndex,
const COleVariant& varValue);
void SetParamValueNull(LPCTSTR lpszName);
void SetParamValueNull(int nIndex);
short GetFieldCount();
void GetFieldInfo(int nIndex, CDaoFieldInfo& fieldinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
void GetFieldInfo(LPCTSTR lpszName, CDaoFieldInfo& fieldinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
short GetParameterCount();
void GetParameterInfo(int nIndex, CDaoParameterInfo& paraminfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
void GetParameterInfo(LPCTSTR lpszName,
CDaoParameterInfo& paraminfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
// Overridables
public:
// Implementation
public:
~CDaoQueryDef();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
DAOFields* m_pDAOFields;
DAOParameters* m_pDAOParameters;
protected:
BOOL m_bOpen;
BOOL m_bNew;
void InitFieldsCollection();
void InitParametersCollection();
void FillParameterInfo(DAOParameter* pDAOParameter,
CDaoParameterInfo& paraminfo, DWORD dwInfoOptions);
virtual void ThrowDaoException(int nError = NO_AFX_DAO_ERROR);
};
////////////////////////////////////////////////////////////////////////
// CDaoRecordset - the result of a query or base table browse
class CDaoRecordset : public CObject
{
DECLARE_DYNAMIC(CDaoRecordset)
// Constructor
public:
CDaoRecordset(CDaoDatabase* pDatabase = NULL);
virtual void Open(int nOpenType = AFX_DAO_USE_DEFAULT_TYPE,
LPCTSTR lpszSQL = NULL, int nOptions = 0);
virtual void Open(CDaoQueryDef* pQueryDef,
int nOpenType = dbOpenDynaset, int nOptions = 0);
virtual void Open(CDaoTableDef* pTableDef,
int nOpenType = dbOpenTable, int nOptions = 0);
virtual void Close();
// Attributes
public:
CDaoDatabase* m_pDatabase; // Source database for this result set
DAORecordset* m_pDAORecordset;
CString m_strFilter; // Filter string used when constructing SQL
CString m_strSort; // Sort string used when constructing SQL
int m_nFields;
int m_nParams;
BOOL m_bCheckCacheForDirtyFields; // Switch for dirty field checking.
BOOL CanUpdate() const;
BOOL CanAppend() const;
BOOL CanScroll() const;
BOOL CanRestart();
BOOL CanTransact();
BOOL CanBookmark();
BOOL IsOpen() const;
BOOL IsBOF() const;
BOOL IsEOF() const;
BOOL IsDeleted() const;
BOOL IsFieldDirty(void* pv);
BOOL IsFieldNull(void* pv);
BOOL IsFieldNullable(void* pv);
CString GetName();
short GetType();
short GetEditMode();
CString GetSQL() const;
COleDateTime GetDateCreated();
COleDateTime GetDateLastUpdated();
COleVariant GetLastModifiedBookmark();
CString GetValidationRule();
CString GetValidationText();
CString GetCurrentIndex();
void SetCurrentIndex(LPCTSTR lpszIndex);
long GetRecordCount();
// Operations
public:
// Cursor operations
void MoveNext();
void MovePrev();
void MoveFirst();
void MoveLast();
virtual void Move(long lRows);
BOOL FindNext(LPCTSTR lpszFilter);
BOOL FindPrev(LPCTSTR lpszFilter);
BOOL FindFirst(LPCTSTR lpszFilter);
BOOL FindLast(LPCTSTR lpszFilter);
virtual BOOL Find(long lFindType, LPCTSTR lpszFilter);
COleVariant GetBookmark();
void SetBookmark(COleVariant varBookmark);
long GetAbsolutePosition();
void SetAbsolutePosition(long lPosition);
float GetPercentPosition();
void SetPercentPosition(float fPosition);
// seek allowed on recordset opened as tables (max keys = 13)
BOOL Seek(LPCTSTR lpszComparison, COleVariant* pKey1,
COleVariant* pKey2 = NULL, COleVariant* pKey3 = NULL);
BOOL Seek(LPCTSTR lpszComparison, COleVariant* pKeyArray, WORD nKeys);
// edit buffer operations
virtual void AddNew();
virtual void Edit();
virtual void Update();
virtual void Delete();
virtual void CancelUpdate();
// field operations
virtual void GetFieldValue(LPCTSTR lpszName, COleVariant& varValue);
virtual void GetFieldValue(int nIndex, COleVariant& varValue);
virtual void SetFieldValue(LPCTSTR lpszName,
const COleVariant& varValue);
virtual void SetFieldValue(int nIndex,
const COleVariant& varValue);
void SetFieldValue(int nIndex, LPCTSTR lpszValue);
void SetFieldValue(LPCTSTR lpszName, LPCTSTR lpszValue);
void SetFieldValueNull(LPCTSTR lpszName);
void SetFieldValueNull(int nIndex);
virtual COleVariant GetParamValue(LPCTSTR lpszName);
virtual COleVariant GetParamValue(int nIndex);
virtual void SetParamValue(LPCTSTR lpszName,
const COleVariant& varValue);
virtual void SetParamValue(int nIndex,
const COleVariant& varValue);
void SetParamValueNull(LPCTSTR lpszName);
void SetParamValueNull(int nIndex);
void SetFieldDirty(void* pv, BOOL bDirty = TRUE);
void SetFieldNull(void* pv, BOOL bNull = TRUE);
void SetLockingMode(BOOL bPessimistic);
BOOL GetLockingMode();
// Recordset operations
virtual void Requery();
// Jet's remote data caching operations
void SetCacheStart(COleVariant varBookmark);
COleVariant GetCacheStart();
void SetCacheSize(long lSize);
long GetCacheSize();
void FillCache(long* pSize = NULL, COleVariant* pBookmark = NULL);
short GetFieldCount();
void GetFieldInfo(int nIndex, CDaoFieldInfo& fieldinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
void GetFieldInfo(LPCTSTR lpszName, CDaoFieldInfo& fieldinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
short GetIndexCount();
void GetIndexInfo(int nIndex, CDaoIndexInfo& indexinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
void GetIndexInfo(LPCTSTR lpszName, CDaoIndexInfo& indexinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
// Overridables
public:
virtual CString GetDefaultDBName();
virtual CString GetDefaultSQL();
// for recordset field exchange
virtual void DoFieldExchange(CDaoFieldExchange* pFX);
// Implementation
public:
virtual ~CDaoRecordset();
// Out-of-date functions kept for backward compatability
virtual COleVariant GetFieldValue(LPCTSTR lpszName);
virtual COleVariant GetFieldValue(int nIndex);
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
CString m_strSQL;
CDaoQueryDef* m_pQueryDef; // Source query for this result set
CDaoTableDef* m_pTableDef;
ICDAORecordset* m_pICDAORecordsetGetRows;
DAOFields* m_pDAOFields;
DAOIndexes* m_pDAOIndexes;
void SetCursorAttributes();
void GetDataAndFixupNulls();
DWORD GetFieldLength(int nFieldIndex);
BOOL IsFieldStatusDirty(UINT nField);
void SetDirtyFieldStatus(UINT nField);
void ClearDirtyFieldStatus(UINT nField);
BOOL IsFieldStatusNull(UINT nField);
void SetNullFieldStatus(UINT nField);
void ClearNullFieldStatus(UINT nField);
BOOL IsFieldStatusNullable(UINT nField);
void SetNullableFieldStatus(UINT nField);
BOOL IsFieldStatusNullableKnown(UINT nField);
void SetNullableKnownFieldStatus(UINT nField);
void ClearFieldStatusFlags();
BOOL IsMatch();
DWORD m_cbFixedLengthFields;
DAOCOLUMNBINDING* m_prgDaoColBindInfo;
DWORD* m_pulColumnLengths;
DAOFETCHROWS m_DaoFetchRows;
BYTE* m_pbFieldFlags;
BYTE* m_pbParamFlags;
CMapPtrToPtr* m_pMapFieldCache;
CMapPtrToPtr* m_pMapFieldIndex;
static void AFX_CDECL StripBrackets(LPCTSTR lpszSrc, LPTSTR lpszDest);
protected:
BOOL m_bOpen;
int m_nStatus;
BOOL m_bAppendable;
BOOL m_bScrollable;
BOOL m_bDeleted;
int m_nOpenType;
int m_nDefaultType;
int m_nOptions;
CString m_strRequerySQL;
CString m_strRequeryFilter;
CString m_strRequerySort;
void BuildSQL();
void AllocDatabase();
// RFX Operation Cover Functions
void BuildSelectList();
void BuildParameterList();
void BindFields();
void BindParameters();
void Fixup();
void AllocCache();
void StoreFields();
void LoadFields();
void FreeCache();
void MarkForEdit();
void MarkForAddNew();
int GetFieldIndex(void* pv);
virtual void SetDirtyFields();
void InitFieldsCollection();
void InitIndexesCollection();
virtual void ThrowDaoException(int nError = NO_AFX_DAO_ERROR);
friend class CDaoFieldExchange;
friend class CDaoRecordView;
};
/////////////////////////////////////////////////////////////////////////////
// CDaoRecordView - form for viewing data records
#ifdef _AFXDLL
class CDaoRecordView : public CFormView
#else
class AFX_NOVTABLE CDaoRecordView : public CFormView
#endif
{
DECLARE_DYNAMIC(CDaoRecordView)
// Construction
protected: // must derive your own class
CDaoRecordView(LPCTSTR lpszTemplateName);
CDaoRecordView(UINT nIDTemplate);
// Attributes
public:
virtual CDaoRecordset* OnGetRecordset() = 0;
BOOL IsOnLastRecord();
BOOL IsOnFirstRecord();
// Operations
public:
virtual BOOL OnMove(UINT nIDMoveCommand);
// Implementation
public:
virtual ~CDaoRecordView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
virtual void OnInitialUpdate();
protected:
int m_nStatus;
COleVariant m_varBookmarkCurrent;
COleVariant m_varBookmarkFirst;
COleVariant m_varBookmarkLast;
//{{AFX_MSG(CDaoRecordView)
afx_msg void OnUpdateRecordFirst(CCmdUI* pCmdUI);
afx_msg void OnUpdateRecordPrev(CCmdUI* pCmdUI);
afx_msg void OnUpdateRecordNext(CCmdUI* pCmdUI);
afx_msg void OnUpdateRecordLast(CCmdUI* pCmdUI);
//}}AFX_MSG
afx_msg void OnMove(int cx, int cy);
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
// DAODBEngine helpers - implementation specific and undocumented
void AFXAPI AfxDaoInit();
DAODBEngine* AFXAPI AfxDaoGetEngine();
void AFXAPI AfxDaoTerm();
/////////////////////////////////////////////////////////////////////////////
// Inline function declarations
#ifdef _AFX_PACKING
#pragma pack(pop)
#endif
#ifdef _AFX_ENABLE_INLINES
#define _AFXDAOCORE_INLINE AFX_INLINE
#define _AFXDAODFX_INLINE AFX_INLINE
#define _AFXDAOVIEW_INLINE AFX_INLINE
#include <afxdao.inl>
#undef _AFXDAOCORE_INLINE
#undef _AFXDAODFX_INLINE
#undef _AFXDAOVIEW_INLINE
#endif
#undef AFX_DATA
#define AFX_DATA
#ifdef _AFX_MINREBUILD
#pragma component(minrebuild, on)
#endif
#ifndef _AFX_FULLTYPEINFO
#pragma component(mintypeinfo, off)
#endif
#endif //__AFXDAO_H__
/////////////////////////////////////////////////////////////////////////////
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -