Zestaw rekordów: jak zestawy rekordów pobierają rekordy (ODBC)

Ten temat dotyczy klas MFC ODBC.

Ten temat tłumaczy:

  • Rola użytkownika i opcje przy wybieraniu rekordów.

  • Jak zestaw rekordów konstrukcje jego instrukcji SQL i wybiera rekordy.

  • Co można zrobić, aby dostosować zaznaczenie.

Zestawy rekordów wybierz rekordy ze źródła danych za pomocą sterownika ODBC przez wysłanie instrukcji SQL do sterownika.SQL wysłana zależy od tego, jak projektować i Otwórz klasę zestawu rekordów.

Opcje przy wybieraniu rekordów

W poniższej tabeli przedstawiono opcje przy wybieraniu rekordów.

Jak i kiedy może mieć wpływ na zestawie rekordów

Gdy użytkownik

Możesz

Zadeklarować własną klasę zestawu rekordów z Add Class Kreatora

Określić, która tabela, które można wybierać.

Określ kolumny, które mają zawierać.

Zobacz dodanie konsumenta MFC ODBC.

Zakończyć wdrażanie 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.

Konstruowania obiektu zestaw rekordów (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ślanie kolejności sortowania do użycia w ORDER BY klauzuli, która służy do sortowania rekordów.Zobacz zestaw rekordów: sortowanie rekordów (ODBC).

Określ wartości parametrów dla wszystkich parametrów dodanych do tej klasy.Zobacz zestaw rekordów: parametryzacja zestaw rekordów (ODBC).

Uruchom kwerendę w zestawie rekordów przez wywołanie Otwórz

Określ niestandardowy ciąg SQL, aby zastąpić domyślny ciąg SQL przez kreatora.Zobacz CRecordset::Open w informacje dotyczące biblioteki klas i SQL: dostosowywanie instrukcji 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, filtrowania i sortowania.Zobacz zestaw rekordów: ponowne wykonanie kwerendy zestaw rekordów (ODBC).

Jak zestaw rekordów konstrukcje jego instrukcji SQL

Gdy wywołanie obiektu recordset Otwórz funkcji składowej Otwórz konstrukcje instrukcję SQL za pomocą niektóre lub wszystkie z następujących składników:

  • LpszSQL parametr przekazany do Otwórz.Jeśli nie wartości NULL, parametr ten określa niestandardowy ciąg SQL lub częścią jednego.Ramach analizuje ciąg.Jeśli ciąg jest SQL Wybierz instrukcji lub ODBC CALL instrukcja, 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 jest dostarczany do konstruowania SQL FROM klauzuli.

  • Ciąg zwracany przez GetDefaultSQL.Domyślnie jest to nazwa określona w Kreatorze zestawu rekordów tabeli, ale można zmienić, funkcja zwraca.Wywołania framework GetDefaultSQL — Jeśli ciąg rozpoczyna się od "SELECT" lub "{CALL", to zakłada się nazwy tabeli, która jest używana do konstruowania ciąg SQL.

  • Pole danych członków zestawu rekordów, które mają być powiązane do określonych kolumn tabeli.Ramach jest powiązana kolumna rekordu adresy tych członków, wykorzystując je jako buforów.Ramach określa korelacji elementów danych pola kolumn tabeli z RFX lub RFX luzem funkcja wywołuje w zestawie rekordów DoFieldExchange lub DoBulkFieldExchange funkcji składowej.

  • Filtr dla zestawu rekordów, jeśli w ogóle, zawarte w m_strFilter element członkowski danych.Ramach wykorzystuje ten ciąg, aby skonstruować SQL gdzie klauzuli.

  • Sortowania zamówienia dla zestawu rekordów, jeśli istnieją, zawarte w m_strSort element członkowski danych.Ramach wykorzystuje ten ciąg, aby skonstruować SQL ORDER BY klauzuli.

    PoradaPorada

    Aby użyć programu SQL GROUP BY klauzula (i ewentualnie HAVING klauzuli), dołączyć klauzule na końcu ciągu filtru.

  • Wartości każdego parametr danych członków można określić dla tej klasy.Ustaw parametry tylko przed wywołaniem Otwórz lub Requery.Ramach wiąże wartości parametru "?" symbole zastępcze w ciągu SQL.W czasie kompilacji można określić ciąg z symbolami zastępczymi.W czasie wykonywania ramach wypełnia szczegółów oparte na wartości parametrów, które należy przekazać.

Otwórz konstrukcji SQL Wybierz wyciągu z tych składników.Zobacz Dostosowywanie zaznaczenie Aby uzyskać szczegółowe informacje o używaniu składników w ramach.

Po instrukcji, Otwórz wysyła SQL do Menedżera sterowników ODBC (i Biblioteka kursorów ODBC, jeśli jest w pamięci), który wysyła się do sterownika ODBC dla określonego systemu DBMS.Sterownik komunikuje się z systemu DBMS przeprowadzenie wyboru w źródle danych i pobiera pierwszego rekordu.Ramach ładuje rekordu do elementów członkowskich danych pola zestawu rekordów.

Kombinacja tych technik można użyć do otwarcia tabele 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 albo można wykonywać większości zadań dostępu do danych.Zadania nie można osiągnąć poprzez dostosowanie zestawów rekordów nadal mogą być uzyskane przez Wywołanie funkcji interfejsu API ODBC lub bezpośrednio wykonywanie instrukcji SQL z CDatabase::ExecuteSQL.

Dostosowywanie zaznaczenia

Oprócz dostarczania filtru, kolejność sortowania lub parametry, można wykonać następujące czynności, aby dostosować wybór w zestawie rekordów:

  • Przekazać niestandardowy ciąg SQL w lpszSQL pod numerem Otwórz zestawu rekordów.Nic przebiegu w lpsqSQL ma pierwszeństwo nad tym, co GetDefaultSQL zwraca funkcję członka.

    Aby uzyskać więcej informacji, zobacz SQL: dostosowywanie swój zestaw rekordów w instrukcji SQL (ODBC), który opisano typy instrukcji SQL (lub częściowe instrukcji) można przekazać do Otwórz i ramach robi z nimi.

    [!UWAGA]

    Jeśli niestandardowy ciąg, który zostanie przekazany nie zaczyna się od "SELECT" lub "{CALL", MFC zakłada, że zawiera on nazwę tabeli.Dotyczy to również przy następnym punktowanym elemencie.

  • Zmienić ciąg znaków, 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żesz mieć GetDefaultSQL powrót wszystkich elementów, które można przekazać w lpszSQL parametr Otwórz.Jeśli nie przechodzą niestandardowy ciąg SQL w lpszSQL, ramach używa ciągu który GetDefaultSQL zwraca.Co najmniej GetDefaultSQL musi zwracać postać pojedynczej nazwy tabeli.Ale masz go zwrócić wiele nazw tabeli, pełne Wybierz instrukcji ODBC CALL instrukcji i tak dalej.Aby uzyskać listę co można przekazać do lpszSQL — lub GetDefaultSQL powrócić — zobacz SQL: dostosowywanie swój zestaw rekordów w instrukcji SQL (ODBC).

    Jeśli przeprowadzasz łączyć dwóch lub więcej tabel przepisać GetDefaultSQL Aby dostosować listę tabeli używany w SQL FROM klauzuli.Aby uzyskać więcej informacji, zobacz zestaw rekordów: wykonywanie dołączyć (ODBC).

  • Ręczne powiązanie dodatkowego pola danych członków, być może na podstawie informacji o uzyskaniu o schemacie źródła danych w czasie wykonywania.Dodaj pole danych członków do klasy zestawu rekordów, RFX lub RFX luzem funkcja wywołuje im 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.

Jeśli chcesz utworzyć zestaw rekordów na złożonych instrukcji SQL, należy użyć kombinacji tych technik dostosowania.Na przykład być może chcesz użyć SQL klauzul i słowa kluczowe nie są bezpośrednio obsługiwane przez zestawy rekordów lub być może użytkownik przyłącza się do wielu tabel.

Zobacz też

Koncepcje

Zestaw rekordów (ODBC)

Zestaw rekordów: jak zestawy rekordów aktualizują rekordy (ODBC)

Podstawy ODBC

SQL

Zestaw rekordów: blokowanie rekordów (ODBC)