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:
Kiedy i jak utworzyć obiekt zestawu rekordów.
Kiedy i jak zamknąć obiekt zestawu rekordów.
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
Skonstruuj obiekt klasy pochodnej
CRecordset
.Obiekt można skonstruować na stercie lub na ramce stosu funkcji.
Opcjonalnie zmodyfikuj domyślne zachowanie zestawu rekordów. Aby uzyskać dostępne opcje, zobacz Ustawianie opcji zestawu rekordów.
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łonkowskimm_nDefaultType
danych . 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 Open
metody 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:
Określ filtr, aby ograniczyć wybór rekordu.
Określ kolejność sortowania rekordów.
Określ parametry , aby można było wybrać rekordy przy użyciu informacji uzyskanych lub obliczonych w czasie wykonywania.
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
Wywołaj funkcję zamknij składową.
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)