home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / mfc / include / afxdb.inl < prev    next >
Text File  |  1998-06-16  |  5KB  |  114 lines

  1. // This is a part of the Microsoft Foundation Classes C++ library.
  2. // Copyright (C) 1992-1998 Microsoft Corporation
  3. // All rights reserved.
  4. //
  5. // This source code is only intended as a supplement to the
  6. // Microsoft Foundation Classes Reference and related
  7. // electronic documentation provided with the library.
  8. // See these sources for detailed information regarding the
  9. // Microsoft Foundation Classes product.
  10.  
  11. // Inlines for AFXDB.H
  12.  
  13. /////////////////////////////////////////////////////////////////////////////
  14. // General database inlines
  15.  
  16. #ifdef _AFXDBCORE_INLINE
  17.  
  18. // CDatabase inlines
  19. _AFXDBCORE_INLINE BOOL CDatabase::IsOpen() const
  20.     { ASSERT_VALID(this); return m_hdbc != SQL_NULL_HDBC; }
  21. _AFXDBCORE_INLINE BOOL CDatabase::CanUpdate() const
  22.     { ASSERT(IsOpen()); return m_bUpdatable; }
  23. _AFXDBCORE_INLINE BOOL CDatabase::CanTransact() const
  24.     { ASSERT(IsOpen()); return m_bTransactions; }
  25. _AFXDBCORE_INLINE void CDatabase::SetLoginTimeout(DWORD dwSeconds)
  26.     { ASSERT_VALID(this); m_dwLoginTimeout = dwSeconds; }
  27. _AFXDBCORE_INLINE void CDatabase::SetQueryTimeout(DWORD dwSeconds)
  28.     { ASSERT_VALID(this); m_dwQueryTimeout = dwSeconds; }
  29. _AFXDBCORE_INLINE const CString& CDatabase::GetConnect() const
  30.     { ASSERT_VALID(this); return m_strConnect; }
  31. _AFXDBCORE_INLINE DWORD CDatabase::GetBookmarkPersistence() const
  32.     { ASSERT_VALID(this); return m_dwBookmarkAttributes; }
  33. _AFXDBCORE_INLINE int CDatabase::GetCursorCommitBehavior() const
  34.     { ASSERT_VALID(this); return m_nCursorCommitBehavior; }
  35. _AFXDBCORE_INLINE int CDatabase::GetCursorRollbackBehavior() const
  36.     { ASSERT_VALID(this); return m_nCursorRollbackBehavior; }
  37. _AFXDBCORE_INLINE void CDatabase::ThrowDBException(RETCODE nRetCode)
  38.     { ASSERT_VALID(this); AfxThrowDBException(nRetCode, this, m_hstmt); }
  39. _AFXDBCORE_INLINE void CDatabase::SetSynchronousMode(BOOL /* bSynchronous */ )
  40.     { ASSERT_VALID(this); TRACE0("Error: SetSynchronousMode is obsolete and has not effect.\n"); }
  41.  
  42. // CRecordset inlines
  43. _AFXDBCORE_INLINE const CString& CRecordset::GetSQL() const
  44.     { ASSERT(IsOpen()); return m_strSQL; }
  45. _AFXDBCORE_INLINE const CString& CRecordset::GetTableName() const
  46.     { ASSERT(IsOpen()); return m_strTableName; }
  47. _AFXDBCORE_INLINE BOOL CRecordset::IsBOF() const
  48.     { ASSERT(IsOpen()); return m_bBOF; }
  49. _AFXDBCORE_INLINE BOOL CRecordset::IsEOF() const
  50.     { ASSERT(IsOpen()); return m_bEOF; }
  51. _AFXDBCORE_INLINE BOOL CRecordset::IsDeleted() const
  52.     { ASSERT(IsOpen()); return m_bDeleted; }
  53. _AFXDBCORE_INLINE BOOL CRecordset::CanUpdate() const
  54.     { ASSERT(IsOpen()); return m_bUpdatable; }
  55. _AFXDBCORE_INLINE BOOL CRecordset::CanScroll() const
  56.     { ASSERT(IsOpen()); return m_bScrollable; }
  57. _AFXDBCORE_INLINE BOOL CRecordset::CanAppend() const
  58.     { ASSERT(IsOpen()); return m_bAppendable; }
  59. _AFXDBCORE_INLINE BOOL CRecordset::CanRestart() const
  60.     { ASSERT(IsOpen()); return !(m_dwOptions & executeDirect); }
  61. _AFXDBCORE_INLINE BOOL CRecordset::CanTransact() const
  62.     { ASSERT(m_pDatabase->IsOpen());
  63.         return m_pDatabase->m_bTransactions; }
  64. _AFXDBCORE_INLINE short CRecordset::GetODBCFieldCount() const
  65.     { ASSERT(IsOpen()); return m_nResultCols; }
  66. _AFXDBCORE_INLINE DWORD CRecordset::GetRowsetSize() const
  67.     { ASSERT(IsOpen()); return m_dwRowsetSize; }
  68. _AFXDBCORE_INLINE DWORD CRecordset::GetRowsFetched() const
  69.     { ASSERT(IsOpen()); return m_dwRowsFetched; }
  70. _AFXDBCORE_INLINE WORD CRecordset::GetRowStatus(WORD wRow) const
  71.     { ASSERT(IsOpen()); ASSERT(wRow > 0); return m_rgRowStatus[wRow-1]; }
  72. _AFXDBCORE_INLINE long CRecordset::GetRecordCount() const
  73.     { ASSERT(IsOpen()); return m_lRecordCount; }
  74. _AFXDBCORE_INLINE void CRecordset::GetStatus(CRecordsetStatus& rStatus) const
  75.     { ASSERT(IsOpen());
  76.         rStatus.m_lCurrentRecord = m_lCurrentRecord;
  77.         rStatus.m_bRecordCountFinal = m_bEOFSeen; }
  78. _AFXDBCORE_INLINE void CRecordset::ThrowDBException(RETCODE nRetCode, HSTMT hstmt)
  79.     { ASSERT_VALID(this); AfxThrowDBException(nRetCode, m_pDatabase,
  80.         (hstmt == SQL_NULL_HSTMT)? m_hstmt : hstmt); }
  81. _AFXDBCORE_INLINE void CRecordset::MoveNext()
  82.     { ASSERT(IsOpen()); Move(1, SQL_FETCH_NEXT); }
  83. _AFXDBCORE_INLINE void CRecordset::MovePrev()
  84.     { ASSERT(IsOpen()); Move(-1, SQL_FETCH_PRIOR); }
  85. _AFXDBCORE_INLINE void CRecordset::MoveFirst()
  86.     { ASSERT(IsOpen()); Move(1, SQL_FETCH_FIRST); }
  87. _AFXDBCORE_INLINE void CRecordset::MoveLast()
  88.     { ASSERT(IsOpen()); Move(-1, SQL_FETCH_LAST); }
  89. _AFXDBCORE_INLINE void CRecordset::SetAbsolutePosition(long nRows)
  90.     { ASSERT(IsOpen()); Move(nRows, SQL_FETCH_ABSOLUTE); }
  91.  
  92. #endif //_AFXDBCORE_INLINE
  93.  
  94. #ifdef _AFXDBRFX_INLINE
  95.  
  96. _AFXDBRFX_INLINE void CFieldExchange::SetFieldType(UINT nFieldType)
  97.     { ASSERT(nFieldType == outputColumn ||
  98.         nFieldType == inputParam ||
  99.         nFieldType == outputParam ||
  100.         nFieldType == inoutParam);
  101.         m_nFieldType = nFieldType; }
  102.  
  103. #endif //_AFXDBRFX_INLINE
  104.  
  105. #ifdef _AFXDBVIEW_INLINE
  106.  
  107. // CRecordView inlines
  108. _AFXDBVIEW_INLINE void CRecordView::OnMove(int cx, int cy)
  109.     { CFormView::OnMove(cx, cy); }
  110.  
  111. #endif
  112.  
  113. /////////////////////////////////////////////////////////////////////////////
  114.