Jak wykonać procedura przechowywana (przy użyciu składni RPC) 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, a w związku z tym 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 gdy 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 RPC.
Wywołanie ICommandWithParameters::SetParameterInfo Metoda opisać parametry do dostawca. Wprowadź informacje o parametrach w tablicy PARAMBINDINFO struktur.
Tworzenie zestaw powiązań (po jednym dla każdego producenta parametr) za pomocą tablicy DBBINDING struktur.
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_B.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. |