Jak wykonać procedura przechowywana (przy użyciu składni ODBC Wywołaj) i Zwróć kody procesu oraz parametry wyjściowe (OLE DB)
Procedury przechowywane programu SQL Server może być liczbą całkowitą, zwraca kodów i wyjścia parametrów.Zwracane kody i parametry wyjściowe są wysyłane w ostatnim pakiecie z serwera i dlatego nie są dostępne dla aplikacji aż do chwili całkowicie zwolnienia zestawu zestaw wierszy.Jeśli to polecenie zwraca wiele wyniki, dane wyjściowe parametr jest dostępny kiedy IMultipleResults::GetResult Zwraca DB_S_NORESULT lub IMultipleResults Interfejs jest całkowicie zwolnione, zależności od tego, co nastąpi najpierw.
Proces zwracane kody i parametrów wyjściowych
Utworzyć instrukcję SQL, która używa sekwencji unikowej ODBC CALL.W instrukcja należy użyć parametru dla każdej operacji wejścia/wyjścia i parametr wyjściowy i procedury zwracają wartość (jeśli istnieje).Parametrów wejściowych można użyć parametru lub twardego kodu wartości.
Tworzenie zestaw powiązań (po jednym dla każdego producenta parametr) za pomocą tablicy DBBINDING struktury.
Create an accessor for the defined parameters by using the IAccessor::CreateAccessor method.CreateAccessor creates an accessor from a set of bindings.
Wypełnij struktury DBPARAMS.
Wywołanie Execute polecenie (w tym przypadek wywołanie procedura przechowywana).
Przetwarzanie zestawu zestaw wierszy, a następnie zwolnij go za pomocą IRowset::Release Metoda.
Proces zwracane kody i wartości parametrów wyjściowych otrzymanych od procedura przechowywana.
Example
W przykładzie pokazano, przetwarzanie zestawu zestaw wierszy, zwracane kody i parametru wyjściowego.Zestaw wyników nie są przetwarzane.Poniżej przedstawiono procedura przechowywana próbki używane przez aplikację.
USE AdventureWorks
DROP PROCEDURE myProc
GO
CREATE PROCEDURE myProc
@inparam int,
@outparam int OUTPUT
AS
SELECT Color, ListPrice
FROM Production.Product WHERE Size > @inparam
SELECT @outparam = 100
IF (@outparam > 0)
RETURN 999
ELSE
RETURN 888
GO
Zakończenie przykładowy kod znajduje się w pliku InitializeAndEstablishConnection_A.cpp.Możesz pobrać próbką z archiwum Pliki do pobrania program SQL Server strona w witrynie MSDN.
W tym przykładzie został opracowany przy użyciu programu Microsoft Visual C++ 2005.
Security Note: |
|---|
Gdy jest to możliwe, należy używać uwierzytelniania systemu Windows.Jeśli uwierzytelnianie systemu Windows nie jest dostępne, monitu użytkowników o wprowadzenie poświadczenia w czasie wykonywania.Należy unikać przechowywania poświadczenia w pliku.Jeśli muszą przetrwać poświadczenia, należy je z zaszyfrować Win32 API usług kryptograficznych. |
Security Note: