Zestaw rekordów: ponowne wysyłanie zapytania do zestawu rekordów (ODBC)
Ten temat dotyczy klas MFC ODBC.
W tym temacie wyjaśniono, jak można użyć obiektu zestawu rekordów do ponownego zapytania (czyli odświeżenia) z bazy danych i kiedy warto to zrobić za pomocą funkcji składowej Requery .
Głównymi przyczynami ponownego queryzowania zestawu rekordów są następujące:
Umożliwia aktualizowanie zestawu rekordów w odniesieniu do rekordów dodanych przez Użytkownika lub innych użytkowników i rekordów usuniętych przez innych użytkowników (te, które usuwasz zostały już odzwierciedlone w zestawie rekordów).
Odśwież zestaw rekordów na podstawie zmieniania wartości parametrów.
Aktualizowanie zestawu rekordów
Często chcesz ponownie wyświetlić obiekt zestawu rekordów, aby był aktualny. W środowisku bazy danych z wieloma użytkownikami inni użytkownicy mogą wprowadzać zmiany w danych w trakcie życia zestawu rekordów. Aby uzyskać więcej informacji o tym, kiedy zestaw rekordów odzwierciedla zmiany wprowadzone przez innych użytkowników i kiedy zestawy rekordów innych użytkowników odzwierciedlają zmiany, zobacz Zestaw rekordów: Jak zestawy rekordów aktualizują rekordy (ODBC) i Dynaset.
Ponowne wysyłanie zapytań na podstawie nowych parametrów
Innym częstym — i równie ważnym — użycie zapytania ponownego polega na wybraniu nowego zestawu rekordów na podstawie zmieniających się wartości parametrów.
Napiwek
Szybkość zapytań jest prawdopodobnie znacznie szybsza, jeśli wywołasz Requery
metodę ze zmianą wartości parametrów, niż w przypadku ponownego wywołania Open
.
Ponowne tworzenie zapytań dynamicznych w porównaniu z migawkami
Ze względu na to, że dynamiczne zestawy mają przedstawiać zestaw rekordów z dynamicznymi aktualnymi danymi, chcesz często ponownie tworzyć zestawy dynamicznych, jeśli chcesz odzwierciedlać dodatki innych użytkowników. Migawki, z drugiej strony, są przydatne, ponieważ można bezpiecznie polegać na ich zawartości statycznej podczas przygotowywania raportów, obliczania sum itd. Mimo to czasami warto ponownie utworzyć migawkę. W środowisku z wieloma użytkownikami dane migawek mogą utracić synchronizację ze źródłem danych, ponieważ inni użytkownicy zmieniają bazę danych.
Aby ponownie zapisać obiekt zestawu rekordów
- Wywołaj funkcję składową Requery obiektu.
Alternatywnie można zamknąć i ponownie otworzyć oryginalny zestaw rekordów. W obu przypadkach nowy zestaw rekordów reprezentuje bieżący stan źródła danych.
Aby zapoznać się z przykładem, zobacz Widoki rekordów: wypełnianie pola listy z drugiego zestawu rekordów.
Napiwek
Aby zoptymalizować Requery
wydajność, unikaj zmiany filtru lub sortowania zestawu rekordów. Zmień tylko wartość parametru przed wywołaniem metody Requery
.
Requery
Jeśli wywołanie zakończy się niepowodzeniem, możesz ponowić próbę wywołania. W przeciwnym razie aplikacja powinna zakończyć się bezpiecznie. Wywołanie metody Requery
lub Open
może zakończyć się niepowodzeniem z dowolnego z wielu powodów. Być może wystąpi błąd sieci; lub, podczas rozmowy, po wydaniu istniejących danych, ale przed uzyskaniem nowych danych inny użytkownik może uzyskać wyłączny dostęp; lub tabela, od której zależy zestaw rekordów, może zostać usunięta.
Zobacz też
Zestaw rekordów (ODBC)
Zestaw rekordów: dynamiczne powiązanie kolumn danych (ODBC)
Zestaw rekordów: tworzenie i zamykanie zestawów rekordów (ODBC)