Vorgehensweise: Verarbeiten von Rückgabecodes und Ausgabeparametern (ODBC)

Gespeicherte SQL Server-Prozeduren können ganzzahlige Rückgabecodes und Ausgabeparameter aufweisen. Die Rückgabecodes und Ausgabeparameter werden im letzten Paket des Servers gesendet und stehen der Anwendung erst zur Verfügung, wenn SQLMoreResults SQL_NO_DATA zurückgibt. Wenn von einer gespeicherten Prozedur ein Fehler zurückgegeben wird, rufen Sie SQLMoreResults auf, um zum nächsten Ergebnis zu wechseln, bis SQL_NO_DATA zurückgegeben wird.

Ein Beispiel, das die Verarbeitung eines Rückgabecodes und Ausgabeparameters veranschaulicht, finden Sie in der Datei ProcessReturnCodes.cpp, die Sie von der Seite SQL Server Downloads auf MSDN herunterladen können. Dieses Beispiel wurde mit Microsoft Visual C++ 2005 entwickelt und für ODBC Version 3.0 oder höher konzipiert.

SicherheitshinweisSicherheitshinweis

Verwenden Sie nach Möglichkeit die Windows-Authentifizierung. Wenn die Windows-Authentifizierung nicht verfügbar ist, fordern Sie Benutzer auf, ihre Anmeldeinformationen zur Laufzeit einzugeben. Die Anmeldeinformationen sollten nicht in einer Datei gespeichert werden. Wenn Sie die Anmeldeinformationen speichern müssen, sollten Sie sie mit der Win32 Crypto-API verschlüsseln.

So verarbeiten Sie Rückgabecodes und Ausgabeparameter

  1. Erstellen Sie eine SQL-Anweisung, die die ODBC CALL-Escapesequenz verwendet. Die Anweisung sollte Parametermarkierungen für jeden Eingabe-, Eingabe/Ausgabe- und Ausgabeparameter sowie für den Prozedurrückgabewert (sofern vorhanden) verwenden.

  2. Rufen Sie SQLBindParameter für jeden Eingabe-, Eingabe/Ausgabe- und Ausgabeparameter sowie für den Prozedurrückgabewert (sofern vorhanden) auf.

  3. Führen Sie die Anweisung mit SQLExecDirect aus.

  4. Verarbeiten Sie die Resultsets, bis SQLFetch oder SQLFetchScroll während der Verarbeitung des letzten Resultsets SQL_NO_DATA zurückgibt oder bis SQLMoreResults SQL_NO_DATA zurückgibt. Zu diesem Zeitpunkt enthalten alle an den Rückgabecodes und die Ausgabeparameter gebundenen Variablen mit zurückgegebenen Datenwerte.