Zestaw rekordów (ODBC)
Ten temat dotyczy klas MFC ODBC.
Obiekt CRecordset reprezentuje zestaw rekordów wybranych ze źródła danych. Rekordy mogą pochodzić z:
Tabela.
Zapytanie.
Procedura składowana, która uzyskuje dostęp do co najmniej jednej tabeli.
Przykładem zestawu rekordów opartego na tabeli jest "wszyscy klienci", który uzyskuje dostęp do tabeli Customer. Przykładem zapytania jest "wszystkie faktury dla Joe Smitha". Przykładem zestawu rekordów na podstawie procedury składowanej (czasami nazywanej wstępnie zdefiniowanym zapytaniem) jest "wszystkie konta delinquent", które wywołuje procedurę składowaną w bazie danych zaplecza. Zestaw rekordów może łączyć co najmniej dwie tabele z tego samego źródła danych, ale nie tabele z różnych źródeł danych.
Uwaga
Niektóre sterowniki ODBC obsługują widoki bazy danych. Widok w tym sensie jest zapytaniem pierwotnie utworzonym za pomocą instrukcji SQL CREATE VIEW
.
Możliwości zestawu rekordów
Wszystkie obiekty zestawu rekordów współdzielą następujące możliwości:
Jeśli źródło danych nie jest tylko do odczytu, możesz określić, że zestaw rekordów może być aktualizowalny, dołączany lub tylko do odczytu. Jeśli zestaw rekordów można aktualizować, możesz wybrać pesymistyczne lub optymistyczne metody blokowania , pod warunkiem, że sterownik dostarcza odpowiednią obsługę blokady. Jeśli źródło danych jest tylko do odczytu, zestaw rekordów będzie tylko do odczytu.
Funkcje składowe można wywoływać, aby przewijać wybrane rekordy.
Rekordy można filtrować, aby ograniczyć wybrane rekordy z tych dostępnych.
Rekordy można sortować w kolejności rosnącej lub malejącej na podstawie co najmniej jednej kolumny.
Zestaw rekordów można sparametryzować , aby zakwalifikować wybór zestawu rekordów w czasie wykonywania.
Migawki i zestawy dynamiczne
Istnieją dwa główne typy zestawów rekordów: migawki i zestawy dynamicznych. Oba są obsługiwane przez klasę CRecordset
. Każda z nich ma wspólne cechy wszystkich zestawów rekordów, ale każda z nich rozszerza wspólną funkcjonalność we własny wyspecjalizowany sposób. Migawki zapewniają statyczny widok danych i są przydatne w przypadku raportów i innych sytuacji, w których chcesz wyświetlić dane w określonym czasie. Zestawy dynaset są przydatne, gdy chcesz, aby aktualizacje wprowadzone przez innych użytkowników były widoczne w zestawie rekordów bez konieczności ponownego pisania zapytania lub odświeżania zestawu rekordów. Migawki i dynamiczne zestawy mogą być aktualizowane lub tylko do odczytu. Aby odzwierciedlić rekordy dodane lub usunięte przez innych użytkowników, wywołaj metodę CRecordset::Requery.
CRecordset
Umożliwia również korzystanie z dwóch innych typów zestawów rekordów: zestawów rekordów dynamicznych i zestawów rekordów tylko do przodu. Dynamiczne zestawy rekordów są podobne do dynamicznych; jednak dynamiczne zestawy rekordów odzwierciedlają wszystkie rekordy dodane lub usunięte bez wywoływania metody CRecordset::Requery
. Z tego powodu dynamiczne zestawy rekordów są zwykle kosztowne w odniesieniu do czasu przetwarzania w systemie DBMS, a wiele sterowników ODBC nie obsługuje ich. Natomiast zestawy rekordów tylko do przodu zapewniają najbardziej wydajną metodę dostępu do danych dla zestawów rekordów, które nie wymagają aktualizacji ani przewijania do tyłu. Na przykład można użyć zestawu rekordów tylko do przekazywania, aby migrować dane z jednego źródła danych do innego, gdzie wystarczy przejść przez dane w kierunku do przodu. Aby użyć zestawu rekordów tylko do przekazywania, należy wykonać oba następujące czynności:
Przekaż opcję
CRecordset::forwardOnly
jako parametr nOpenType funkcji składowej Open .Określ
CRecordset::readOnly
w parametrze dwOptions parametruOpen
.
Zestawy rekordów
Dla każdej odrębnej tabeli, widoku lub procedury składowanej, do której chcesz uzyskać dostęp, zazwyczaj definiuje się klasę pochodzącą z CRecordset
klasy . (Wyjątek to sprzężenia bazy danych, w którym jeden zestaw rekordów reprezentuje kolumny z co najmniej dwóch tabel). Podczas tworzenia klasy zestawu rekordów należy włączyć mechanizm wymiany pól rekordów (RFX) lub mechanizm wymiany pól zbiorczych (Bulk RFX), który jest podobny do mechanizmu wymiany danych dialogowych (DDX). RFX i Bulk RFX upraszczają transfer danych ze źródła danych do zestawu rekordów; RFX dodatkowo przesyła dane z zestawu rekordów do źródła danych. Aby uzyskać więcej informacji, zobacz Rekordy Exchange (RFX) i Zestaw rekordów: pobieranie rekordów zbiorczo (ODBC).
Obiekt zestawu rekordów zapewnia dostęp do wszystkich wybranych rekordów. Przewijasz wiele wybranych rekordów przy użyciu CRecordset
funkcji składowych, takich jak MoveNext
i MovePrev
. Jednocześnie obiekt zestawu rekordów reprezentuje tylko jeden z wybranych rekordów— bieżący rekord. Pola bieżącego rekordu można zbadać, deklarując zmienne składowe klasy rekordów odpowiadające kolumnom tabeli lub rekordom wynikowym z zapytania bazy danych. Aby uzyskać informacje o elementach członkowskich danych zestawu rekordów, zobacz Zestaw rekordów: architektura (ODBC).
W poniższych tematach opisano szczegóły używania obiektów zestawu rekordów. Tematy są wymienione w kategoriach funkcjonalnych i naturalnej kolejności przeglądania, aby umożliwić sekwencyjne odczytywanie.
Tematy dotyczące mechaniki otwierania, odczytywania i zamykania zestawów rekordów
Tematy dotyczące mechaniki modyfikowania zestawów rekordów
Zestaw rekordów: dodawanie, aktualizowanie i usuwanie rekordów (ODBC)
Zestaw rekordów: ponowne wysyłanie zapytania do zestawu rekordów (ODBC)
Tematy dotyczące nieco bardziej zaawansowanych technik
Zestaw rekordów: deklarowanie klasy dla wstępnie zdefiniowanego zapytania (ODBC)
Zestaw rekordów: uzyskiwanie sum i innych wyników agregacji (ODBC)
Tematy dotyczące działania zestawów rekordów
Zestaw rekordów: jak zestawy rekordów pobierają rekordy (ODBC)
Zestaw rekordów: jak zestawy rekordów aktualizują rekordy (ODBC)
Zobacz też
Open Database Connectivity (ODBC)
Zużycie MFC ODBC
Transakcja (ODBC)