DataTable.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #if !defined(AFX_DATATABLE_H__B70F6A02_C464_4FFE_91E8_E7F59765178F__INCLUDED_)
  2. #define AFX_DATATABLE_H__B70F6A02_C464_4FFE_91E8_E7F59765178F__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // DataTable.h : header file
  7. //
  8. class CDataTable : public CDaoRecordset
  9. {
  10. public:
  11. CDataTable(CDaoDatabase* pDatabase = NULL);
  12. DECLARE_DYNAMIC(CDataTable)
  13. // Field/Param Data
  14. //{{AFX_FIELD(CDataTable, CDaoRecordset)
  15. long m_lID;
  16. long m_lDataID;
  17. CString m_strClipBoardFormat;
  18. CLongBinary m_ooData;
  19. //}}AFX_FIELD
  20. // Overrides
  21. // ClassWizard generated virtual function overrides
  22. //{{AFX_VIRTUAL(CDataTable)
  23. public:
  24. virtual CString GetDefaultDBName(); // Default database name
  25. virtual CString GetDefaultSQL(); // Default SQL for Recordset
  26. virtual void DoFieldExchange(CDaoFieldExchange* pFX); // RFX support
  27. virtual void Open(int nOpenType = AFX_DAO_USE_DEFAULT_TYPE, LPCTSTR lpszSql = NULL, int nOptions = 0);
  28. //}}AFX_VIRTUAL
  29. public:
  30. void AddNew(); // assigns the new autoincr ID to m_lID
  31. // caller owns the returned HGLOBAL
  32. // takes m_ooData's HGLOBAL (do NOT update recset after calling this)
  33. HGLOBAL TakeData();
  34. // this takes ownership of hgData, freeing m_ooData if necessary
  35. BOOL ReplaceData( HGLOBAL hgData, UINT len );
  36. // copies hgData into m_ooData
  37. // if size < 0, ::GlobalSize(hgData) is used
  38. BOOL SetData(HGLOBAL hgData, UINT size = -1);
  39. HGLOBAL LoadData(); // allocates a new copy of the data
  40. BOOL DeleteAll();
  41. void Open(LPCTSTR lpszFormat,...);
  42. BOOL DataEqual(HGLOBAL hgData);
  43. void CopyRec( CDataTable& src );
  44. // Implementation
  45. #ifdef _DEBUG
  46. virtual void AssertValid() const;
  47. virtual void Dump(CDumpContext& dc) const;
  48. #endif
  49. };
  50. //{{AFX_INSERT_LOCATION}}
  51. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  52. #endif // !defined(AFX_DATATABLE_H__B70F6A02_C464_4FFE_91E8_E7F59765178F__INCLUDED_)