Udostępnij za pośrednictwem


Zestaw rekordów: tworzenie i zamykanie zestawów rekordów (ODBC)

Uwaga

Kreator klienta MFC ODBC nie jest dostępny w programie Visual Studio 2019 i nowszych wersjach. Nadal można ręcznie utworzyć użytkownika.

Ten temat dotyczy klas MFC ODBC.

Aby użyć zestawu rekordów, skonstruuj obiekt zestawu rekordów, a następnie wywołaj funkcję składową Open , aby uruchomić zapytanie zestawu rekordów i wybrać rekordy. Po zakończeniu pracy z zestawem rekordów zamknij i zniszcz obiekt.

W tym temacie opisano:

Tworzenie zestawów rekordów w czasie wykonywania

Przed utworzeniem obiektów zestawu rekordów w programie zazwyczaj są zapisywane klasy zestawów rekordów specyficznych dla aplikacji. Aby uzyskać więcej informacji o tym wstępnym kroku, zobacz Dodawanie użytkownika MFC ODBC.

Otwórz obiekt dynaset lub migawki, gdy musisz wybrać rekordy ze źródła danych. Typ obiektu do utworzenia zależy od tego, co należy zrobić z danymi w aplikacji i od tego, co obsługuje sterownik ODBC. Aby uzyskać więcej informacji, zobacz Dynamiczny zestaw i migawka.

Aby otworzyć zestaw rekordów

  1. Skonstruuj obiekt klasy pochodnej CRecordset.

    Obiekt można skonstruować na stercie lub na ramce stosu funkcji.

  2. Opcjonalnie zmodyfikuj domyślne zachowanie zestawu rekordów. Aby uzyskać dostępne opcje, zobacz Ustawianie opcji zestawu rekordów.

  3. Wywołaj funkcję elementu członkowskiego Open obiektu.

W konstruktorze przekaż wskaźnik do CDatabase obiektu lub przekaż wartość NULL, aby użyć tymczasowego obiektu bazy danych, który jest konstruowany i otwierany na podstawie parametry połączenia zwróconych przez funkcję składową GetDefaultConnect. Obiekt CDatabase może już być połączony ze źródłem danych.

Wywołanie do użycia programu SQL do Open wybierania rekordów ze źródła danych. Pierwszy wybrany rekord (jeśli istnieje) jest bieżącym rekordem. Wartości pól tego rekordu są przechowywane w elementach członkowskich danych pola obiektu rekordu. Jeśli wybrano jakiekolwiek rekordy, funkcje IsBOF składowe i IsEOF zwracają wartość 0.

W wywołaniu Open możesz wykonywać następujące czynności:

  • Określ, czy zestaw rekordów jest zestawem dynamicznym, czy migawką. Zestawy rekordów są domyślnie otwierane jako migawki. Można też określić zestaw rekordów tylko do przodu, który umożliwia tylko przewijanie do przodu, jeden rekord naraz.

    Domyślnie zestaw rekordów używa domyślnego typu przechowywanego w elemencie CRecordset członkowskim m_nDefaultTypedanych . Kreatorzy piszą kod, m_nDefaultType aby zainicjować typ zestawu rekordów wybranego w kreatorze. Zamiast akceptować to ustawienie domyślne, możesz zastąpić inny typ zestawu rekordów.

  • Określ ciąg, który zastąpi domyślną instrukcję SQL SELECT , którą tworzy zestaw rekordów.

  • Określ, czy zestaw rekordów jest tylko do odczytu, czy tylko do dołączania. Zestawy rekordów umożliwiają domyślnie pełne aktualizowanie, ale można ograniczyć je tylko do dodawania nowych rekordów lub nie zezwalać na wszystkie aktualizacje.

W poniższym przykładzie pokazano, jak otworzyć obiekt migawki tylko do odczytu klasy CStudentSet, klasę specyficzną dla aplikacji:

// Construct the snapshot object
CStudentSet rsStudent( NULL );
// Set options if desired, then open the recordset
if(!rsStudent.Open(CRecordset::snapshot, NULL, CRecordset::readOnly))
    return FALSE;
// Use the snapshot to operate on its records...

Po wywołaniu Openmetody użyj funkcji składowych i składowych danych obiektu do pracy z rekordami. W niektórych przypadkach warto ponownie wykonać zapytanie lub odświeżyć zestaw rekordów, aby uwzględnić zmiany, które wystąpiły w źródle danych. Aby uzyskać więcej informacji, zobacz Zestaw rekordów: ponowne tworzenie kolejki zestawu rekordów (ODBC).

Napiwek

Parametry połączenia używane podczas programowania mogą nie być tymi samymi parametrami połączenia, których potrzebują użytkownicy ostateczni. Aby uzyskać informacje na temat uogólniania aplikacji w tym zakresie, zobacz Źródło danych: zarządzanie połączeniami (ODBC).

Ustawianie opcji zestawu rekordów

Po utworzeniu obiektu zestawu rekordów, ale przed wywołaniem Open metody wybierania rekordów warto ustawić niektóre opcje kontrolowania zachowania zestawu rekordów. W przypadku wszystkich zestawów rekordów można wykonywać następujące czynności:

Możesz również ustawić następującą opcję, jeśli warunki są prawidłowe:

  • Jeśli zestaw rekordów jest aktualizowalny i obsługuje opcje blokowania, określ metodę blokowania używaną do aktualizacji.

Uwaga

Aby wpłynąć na wybór rekordu, należy ustawić te opcje przed wywołaniem funkcji składowej Open .

Zamykanie zestawu rekordów

Po zakończeniu pracy z zestawem rekordów należy usunąć go i cofnąć jej przydział pamięci.

Aby zamknąć zestaw rekordów

  1. Wywołaj funkcję zamknij składową.

  2. Zniszczyć obiekt zestawu rekordów.

    Jeśli zadeklarowano ją na ramce stosu funkcji, obiekt zostanie zniszczony automatycznie, gdy obiekt wykracza poza zakres. W przeciwnym razie użyj delete operatora .

Close zwalnia uchwyt zestawu HSTMT rekordów. Nie niszczy obiektu C++.

Zobacz też

Zestaw rekordów (ODBC)
Zestaw rekordów: przewijanie (ODBC)
Zestaw rekordów: dodawanie, aktualizowanie i usuwanie rekordów (ODBC)