Microsoft Visual C++ и MFC. Программирование для Win95 и WinNT

         

Конструктор класса CDaterSet


Конструктор класса CDaterSet вызывает конструктор базового класса CRecordset. В качестве параметра конструктору CDaterSet и конструктору базового класса передается указатель pdb на объект класса CDatabase, представляющий источник данных.

В приложении Dater конструктору CDaterSet параметр pdb не передается (см. класс CDaterDoc). Посмотрите описание конструктора класса CRecordset в документации Microsoft Visual C++. Если он вызывается без параметра или с параметром NULL, то конструктор автоматически создает объект класса CDatabase. С Этим объектом связывается источник данных, определенный в методе GetDefaultConnect:

CDaterSet::CDaterSet(CDatabase* pdb)

   : CRecordset(pdb)

{

   //{{AFX_FIELD_INIT(CDaterSet)

   m_NAME = _T("");

   m_ADDRESS = _T("");

   m_PRIORITY = 0;

   m_PHONE = _T("");

   m_nFields = 4;

   //}}AFX_FIELD_INIT

   m_nDefaultType = snapshot;

}

В конструкторе CDaterSet располагается блок операторов, ограниченный комментариями вида //{{AFX_FIELD_INIT, //}}AFX_FIELD_INIT. В нем выполняется инициализация элементов m_NAME, m_ADDRESS, m_PRIORITY и m_PHONE. Эти элементы входят в класс CDaterSet и представляют поля таблицы базы данных, связанной с соответствующим объектом CDaterSet (набором записей). Затем в этом же блоке инициализируется элемент m_nFields, принадлежащий базовому классу CRecordset.

Вы не должны модифицировать код, рассположенный внутри блока AFX_FIELD_INIT. Для этого используется MFC ClassWizard.

Последний оператор конструктора CDaterSet присваивает элементу m_nDefaultType, принадлежащему базовому классу CRecordset, значение snapshot (snapshot также входит в класс CRecordset). Этот элемент определяет тип набора записей, представленных классом CDaterSet. MFC AppWizard добавляет этот оператор, когда вы определяете режим работы с базой данных в диалоговой панели Database Options (рис. 5.7).



Содержание раздела