Zestaw rekordów: Jak zestawy rekordów wybierz rekordy (ODBC)
Ten temat dotyczy klas MFC ODBC.
W tym temacie wyjaśniono:
Rola użytkownika i opcji przy wybieraniu rekordów.
Jak zestaw rekordów tworzy instrukcję SQL i wybiera rekordy.
Co można zrobić, aby dostosować zaznaczenie.
Zestawy rekordów wybierz rekordy ze źródła danych za pośrednictwem sterownika ODBC przez wysłanie instrukcji SQL dla kierowcy.SQL wysyłane zależy od sposobu projektowania i Otwórz klasę zestawu rekordów.
Opcje w wyboru rekordów
W poniższej tabeli przedstawiono opcje wyboru rekordów.
Jak i kiedy mają wpływ na zestawie rekordów
Gdy użytkownik |
Możesz |
---|---|
Zadeklarować własną klasę rekordów z Add Class Kreatora |
Określ, która tabela, aby wybrać z. Określ kolumny, które obejmują. Zobacz Dodawanie konsumenta MFC ODBC. |
Zakończenie implementacji klasy zestawu rekordów |
Zastąpić funkcji elementów członkowskich, takich jak OnSetOptions (zaawansowane), aby ustawić opcje specyficzne dla aplikacji lub zmienić ustawienia domyślne.Należy określić parametr danych członków, jeżeli sparametryzowana zestawu rekordów. |
Konstruowanie obiektu recordset (przed wywołaniem Otwórz) |
Określ warunek wyszukiwania (ewentualnie złożone) do użycia w gdzie klauzuli, która filtruje rekordy.Zobacz zestaw rekordów: filtrowanie rekordów (ODBC). Określ porządek sortowania do użycia w ORDER BY klauzuli, która sortuje rekordy.Zobacz zestaw rekordów: sortowanie rekordów (ODBC). Wartości parametrów żadnych parametrów, dodane do tej klasy.Zobacz zestaw rekordów: parametryzacja zestaw rekordów (ODBC). |
Uruchom kwerendę w zestawie rekordów, wywołując Open |
Określić niestandardowy ciąg SQL, aby zastąpić domyślny ciąg SQL przez kreatora.Zobacz CRecordset::Open w odwołanie do biblioteki klas i SQL: Dostosowywanie instrukcję SQL w zestawie rekordów (ODBC). |
Wywołanie Requery Aby ponowić kwerendę rekordów z najnowszych wartości w źródle danych |
Określ nowe parametry, Filtruj lub Sortuj.Zobacz zestaw rekordów: ponawiać kwerendę rekordów (ODBC). |
Jak zestaw rekordów tworzy instrukcję SQL
Po wywołaniu obiektu recordset Otwórz funkcji składowej Otwórz tworzy instrukcję SQL, używając niektóre lub wszystkie z następujących składników:
LpszSQL parametr przekazany do Otwórz.Jeśli nie NULL, ten parametr określa niestandardowy ciąg SQL lub jej część.Ramy analizowania ciągu.Jeśli ciąg SQL Zaznacz instrukcji lub ODBC WYWOŁANIA instrukcji, w ramach używa ciągu jako instrukcję SQL w zestawie rekordów.Jeśli ciąg rozpoczyna się od "SELECT" lub "{CALL", ramach używa co to jest dostarczane do konstruowania SQL od klauzuli.
Ciąg zwracany przez GetDefaultSQL.Domyślnie jest to nazwa tabeli określona dla zestawu rekordów w kreatorze, ale można zmienić, funkcja zwraca.Rozmowy w ramach GetDefaultSQL — Jeśli ciąg rozpoczyna się od "SELECT" lub "{CALL", to zakłada, że nazwa tabeli, który jest używany do skonstruowania ciągu SQL.
Pole danych członków zestawu rekordów, które są zobowiązani do kolumny tabeli.Ramy wiąże rekordu kolumn adresy tych członków, używając ich jako buforów.Ramy określa korelacji pola danych członków do kolumny tabeli z RFX lub wywołuje funkcję RFX luzem w zestawie rekordów DoFieldExchange lub DoBulkFieldExchange funkcji składowej.
Filtru dla zestawu rekordów, jeśli takie są, zawartych w m_strFilter elementu danych.Ramy używa tego ciągu do konstruowania SQL gdzie klauzuli.
Sortowania zamówienia dla rekordów, jeśli istnieją, zawartych w m_strSort elementu danych.Ramy używa tego ciągu do konstruowania SQL ORDER BY klauzuli.
Porada Aby użyć programu SQL GROUP BY klauzuli (i ewentualnie HAVING klauzuli), Dołącz klauzule na końcu ciągu filtru.
Wartości każdego Członkowie danych parametru określić dla klasy.Ustawiać wartości parametrów należy wywołać przed Otwórz lub Requery.Ramy wiąże wartości parametru "?" symbole zastępcze w ciągu SQL.W czasie kompilacji można określić ciąg z symboli zastępczych.W czasie wykonywania szczegóły, na podstawie wartości parametru, który przekazuje wypełnia ramy.
Otwórz konstrukcji SQL Zaznacz instrukcji od tych składników.Zobacz Dostosowywanie zaznaczenie Aby uzyskać szczegółowe informacje o używaniu składników w ramach.
Po instrukcji, konstruowania Otwórz wysyła SQL do Menedżera sterowników ODBC (i Biblioteka kursorów ODBC), jeśli znajduje się w pamięci którego wysyła go do sterownika ODBC dla określonego systemu DBMS.Sterownik komunikuje się z systemu DBMS przeprowadzenie wybór źródła danych i pobiera pierwszego rekordu.Ramy ładuje rekordu do pola danych członków zestawu rekordów.
Połączenie tych technik można użyć, aby otworzyć tabel i skonstruować kwerendę na podstawie sprzężenia z wielu tabel.Z dodatkowe dostosowania, można wywołać wstępnie zdefiniowanych kwerendach (procedury przechowywane), wybierz opcję Tabela, kolumny nie jest znany w czasie projektowania i powiązania je do pól rekordów lub można wykonywać większość innych zadań dostępu do danych.Zadania nie można osiągnąć poprzez dostosowanie zestawów rekordów nadal można osiągnąć przez Wywołanie funkcji ODBC API lub bezpośrednio wykonywanie instrukcji SQL z CDatabase::ExecuteSQL.
Dostosowywanie zaznaczenia
Oprócz dostarczania filtru, porządek sortowania lub parametry, można wykonać następujące akcje, aby dostosować zaznaczenie w zestawie rekordów:
Przekazać niestandardowy ciąg SQL w lpszSQL po wywołaniu Otwórz zestawu rekordów.Cokolwiek przechodzą w lpsqSQL co ma pierwszeństwo przed GetDefaultSQL zwraca wartość funkcji składowej.
Aby uzyskać więcej informacji, zobacz SQL: Dostosowywanie Your w zestawie rekordów instrukcji SQL (ODBC), które opisano typy instrukcji SQL (lub częściowe instrukcji) można przekazać do Otwórz i w ramach jest z nimi.
[!UWAGA]
Jeśli niestandardowy ciąg, który przekaże rozpoczyna się od "SELECT" lub "{CALL", MFC zakłada, że zawiera nazwę tabeli.Dotyczy to również następny element punktowany.
Zmienić ciąg, który kreator zapisuje w twoim zestawie rekordów GetDefaultSQL funkcji składowej.Edytuj kod funkcji, aby zmienić go zwraca.Domyślnie kreator zapisuje GetDefaultSQL funkcji, która zwraca postać pojedynczej nazwy tabeli.
Może mieć GetDefaultSQL zwraca elementy, które można przekazywać w lpszSQL parametr Otwórz.Jeśli nie przechodzi niestandardowy ciąg SQL w lpszSQL, ramach używa ciągu, GetDefaultSQL zwraca.Co najmniej GetDefaultSQL musi zwracać postać pojedynczej nazwy tabeli.Ale może mieć on zwrócić wiele nazw tabeli, pełny Zaznacz instrukcji, ODBC WYWOŁANIA instrukcji i tak dalej.Listę można przekazać lpszSQL — lub GetDefaultSQL zwrotu — zobacz SQL: Dostosowywanie Your w zestawie rekordów instrukcji SQL (ODBC).
Jeśli przeprowadzasz sprzężenia dwóch lub więcej tabel przepisać GetDefaultSQL Aby dostosować listę tabeli używana w instrukcji SQL od klauzuli.Aby uzyskać więcej informacji, zobacz zestaw rekordów: wykonywanie Join (ODBC).
Ręczne powiązanie dodatkowe pola danych członków, być może na podstawie informacji które uzyskać o schemacie źródła danych w czasie wykonywania.Dodaj pole danych członków do klasy rekordów RFX lub RFX luzem funkcja wywołuje dla nich DoFieldExchange lub DoBulkFieldExchange funkcji składowej i inicjowania danych członków w konstruktorze klasy.Aby uzyskać więcej informacji, zobacz zestaw rekordów: dynamiczne wiązanie danych kolumn (ODBC).
Zastąpić funkcji elementów członkowskich zestawu rekordów, takich jak OnSetOptions, aby ustawić opcje specyficzne dla aplikacji, lub aby zastąpić ustawienia domyślne.
Aby utworzyć zestaw rekordów na złożonych instrukcji SQL, należy użyć kombinacji tych technik dostosowania.Na przykład może chcesz użyć klauzul SQL i słowa kluczowe, nie są bezpośrednio obsługiwane przez zestawy rekordów lub prawdopodobnie możesz przyłącza się do wielu tabel.
Zobacz też
Koncepcje
Zestaw rekordów: Jak zestawy rekordów aktualizacji rekordów (ODBC)