Основы проектирования приложений баз данных


         

Класс CRECORDSET


Класс CRecordset реализует операции над результирующим набором, получаемым из источника данных при выполнении SQL-оператора SELECT.

Результирующий набор может использоваться в двух режимах:

  • динамический набор записей (dynasets), состояние которого синхронизируется с изменениями, сделанными другими пользователями;
  • статический набор записей (snapshots), не отражающий изменения, производимые другими пользователями.

Класс CRecordset позволяет:

  • просматривать записи результирующего набора;
  • изменять записи;
  • выполнять блокировку записей;
  • сортировать записи;
  • определять фильтр для выбора записей.

Для использования набора записей из базы данных следует:

  1. Создать объект класса CRecordset, передав конструктору в качестве параметра указатель на объект CDatabase или NULL;
  2. Вызвать метод Open и определить режим использования набора данных: динамический или статический.

Метод Open создает (открывает) результирующий набор.

Член класса CRecordset::m_hstmt содержит указатель на структуру данных типа HSTMT (дескриптор оператора).

Класс CRecordset содержит переменные и методы для работы с результирующим набором, включая следующие:

  • CRecordset::m_nFields – переменная, содержащая количество полей в результирующем наборе.
  • CRecordset::m_nParams – переменная, содержащая количество параметров, используемых в запросе.
  • CRecordset::m_pDatabase – переменная, содержащая указатель на объект CDatabase посредством которого для данного результирующего набора было установлено соединение с базой данных.
  • CRecordset::m_strFilter – переменная, содержащая условие, указываемое во фразе WHERE SQL-оператора (условие должно быть определено до создания результирующего набора вызовом метода Open).

    Например:

    CMySet rsMySet( NULL ); // Класс CMySet наследуется от CRecordset // Определение фильтра (условия во фразе WHERE) rsMySet.m_strFilter = "field2 > 123"; // Выполнение запроса – открытие результирующего набора rsMySet.Open( CRecordset::snapshot, "MyTbl1" );

  • CRecordset::m_strSort – переменная, содержащая значение, указываемое во фразе ORDER BY SQL-оператора;
  • CRecordset ( CDatabase* pDatabase = NULL); – конструктор;
  • Open – метод, создающий результирующий набор;
  • CanAppend – метод, определяющий, разрешено ли в данный открытый набор записей добавлять новые записи;
  • GetSQL – метод, возвращающий SQL-оператор, использованный для получения открытого в данный момент результирующего набора;
  • IsEOF – метод, определяющий, достигнут ли конец результирующего набора;
  • IsBOF – метод, определяющий, достигнуто ли начало набора записей.



    Содержание  Назад  Вперед