Udostępnij za pośrednictwem


Parametr znaczniki (aparat bazy danych)

Parametr znaczniki są obsługiwane przez ADO, OLE DB i bazy danych opartej na ODBC interfejsów API.Znacznik parametru jest znak zapytania (?) w lokalizacji w wyrażeniu wejściowego lub wyjściowego Transact-SQL Instrukcja. Parametru umożliwia aplikacji w celu zoptymalizowania przypadek gdy taki sam Transact-SQL Instrukcja jest wykonywany kilka razy z różnych wartości wejściowych i wyjściowych wyrażenia.

Na przykład użytkownik może podać aplikacji pięć różnych symboli giełdowych i aplikacja ma wywoływać procedura przechowywana, która uzyskuje bieżące dane dla każdego zasobu.Aplikacja może wykonać następujące czynności:

  • Przygotowanie to Transact-SQL instrukcja:

    EXEC GetQuoteProcedure @StockSymbolParameter = ?
    
  • Zmienna aplikacji należy powiązać znacznik parametru (?).

  • wykonać pętli:

    1. Przenieś następnego symbol giełdowy do zmiennej związanego.

    2. wykonać instrukcja w celu pobrania oferty dla tego zasobu.

Parametru nie jest ograniczona do są mapowane na parametry procedura przechowywana.Można użyć parametru dowolnego miejsca wprowadzania wyrażenie jest używana, na przykład:

UPDATE HumanResources.Employees
SET Title = ?
WHERE EmployeeID = ?

Parametru można również mapować parametrów wyjściowych procedura przechowywana i zwracają kodów.Gdy aplikacja wykonuje procedura przechowywana, dostawca OLE DB lub sterownik ODBC przenosi wartości danych z dowolnego parametrów wyjściowych lub kody zwracane były do zmiennych, związany z tego parametru.

Na przykład aplikacja może być wykonywany z poniższej procedury.Ta procedura zwraca liczbę całkowitą, zwrócony kod i parametru wyjściowego znaków.

  1. Przygotowanie instrukcja:

    {? = CALL MyProc (?)}
    
  2. Pierwszy znacznik parametru powiązać zmienną liczbą całkowitą, a drugi znacznik do tablicy znaków.

  3. Wykonać instrukcję.

  4. Pobieranie lub anulowanie wszystkich zestawów wyników zwróconych przez procedura przechowywana.

At this point, the Microsoft OLE DB Provider for SQL Server or SQL Server ODBC driver will have put the return code and output parameter value in the bound variables.Microsoft SQL Server returns output parameter and return code values in the last packet it returns to the client.W związku z tym aplikacja musi przetwarzania lub anulować wszystkie zestawy wyników zwróconych przez procedura przechowywana, zanim ma dostęp do zwracane kody i wartości parametrów wyjściowych.

Interfejs API modelu ADO zawiera zmianę w tym procesie wykonywania procedur przechowywanych.Aplikacja ADO wykonuje następujące czynności:

  1. Zestawy Command Typ obiektu do adCmdStoredProc.

  2. Ustawia tekst polecenia tylko nazwa procedury.

  3. Tworzy Parameters Kolekcja parametrów i zwracanych kodów wiązanie zmienne aplikacji.

  4. Wykonuje Command obiekt.

Parametru są skojarzone z obiektem bazy danych, które znajdują się dane określonego typu.Aplikacja wiąże znacznik parametr do zmiennej, której typem danych różni się od obiektu skojarzonej bazie danych dostawca OLE DB lub sterownik ODBC musi konwertować dane.Na przykład jeśli aplikacja jest powiązana liczbą całkowitą, zwraca kod do tablicy znaków, dostawca OLE DB lub sterownik ODBC musi konwertować dane całkowitą kod powrotu na ciąg znaków.Aby uzyskać informacje na temat konwersji typu danych, które są obsługiwane zobacz w dokumentacji OLE DB dostawca for SQL Server i SQL Server Sterownik ODBC.