SQLCompleteAsync függvény

Megfelelőség
Bemutatott verzió: ODBC 3.8 Szabványoknak megfelelés: Nincs

Summary
Az SQLCompleteAsync segítségével meghatározható, mikor fejeződik be egy aszinkron függvény értesítési vagy lekérdezés-alapú feldolgozással. További információért az aszinkron műveletekről lásd: Aszinkron végrehajtás.

Az SQLCompleteAsync csak az ODBC Driver Managerben valósítható meg.

Értesítés alapú aszinkron feldolgozási módban az SQLCompleteAsync-et akkor kell meghívni, miután a Driver Manager felemeli az értesítéshez használt eseményobjektumot. Az SQLCompleteAsync befejezi az aszinkron feldolgozást, és az aszinkron függvény egy visszatérő kódot generál.

Polling alapú aszinkron feldolgozási módban az SQLCompleteAsync alternatíva az eredeti aszinkron függvény hívására anélkül, hogy az eredeti aszinkron függvényhívásban az argumentumokat kellene megadni. Az SQLCompleteAsync használható függetlenül attól, hogy az ODBC kurzorkönyvtár engedélyezve van-e.

Syntax

  
SQLRETURN SQLCompleteAsync(  
      SQLSMALLINT HandleType,  
      SQLHANDLE   Handle,  
      RETCODE *   AsyncRetCodePtr);  

Arguments

HandleType
[Bemenet] Az a kezelőfelület típusa, amelyen aszinkron feldolgozást lehet befejezni. Az érvényes értékek SQL_HANDLE_DBC vagy SQL_HANDLE_STMT.

Kezelőfelület
[Bemenet] Az a fiók, amelyen az aszinkron feldolgozás befejezhető. Ha a Handle nem érvényes a HandleType által megadott típus, az SQLCompleteAsync SQL_INVALID_HANDLE-et ad vissza.

Ha a Handle nem érvényes a HandleType által megadott típus, az SQLCompleteAsync SQL_INVALID_HANDLE-et ad vissza.

AsyncRetCodePtr
[Kimenet] Mutató egy pufferre, amely tartalmazza az aszinkron API visszatérési kódját. Ha az AsyncRetCodePtr NULL, az SQLCompleteAsync SQL_ERROR-t ad.

Returns

SQL_SUCCESS, SQL_ERROR, SQL_NO_DATA vagy SQL_INVALID_HANDLE.

Diagnostics

Ha az SQLCompleteAsync SQL_SUCCESS-t ad vissza, egy alkalmazásnak meg kell kapnia az aszinkron függvény visszaküldési kódját az AsyncRetCodePtr által mutatott pufferből. A kapcsolódó SQLSTATE, ha van, az SQLGetDiagRec hívásával érhető el, amely egy SQL_HANDLE_STMT HandleType és egy utasítás handle vagy SQL_HANDLE_DBC HandleType és egy kapcsolati handle ( HandleType ) segítségével érhető el. Ezek a diagnosztikai rekordok az aszinkron funkcióhoz kapcsolódnak, nem ezzel az SQLCompleteAsync funkcióval.

Az SQLCompleteAsync egy másik kódot ad vissza, mint SQL_SUCCESS, jelezve, hogy az SQLCompleteAsync nem helyesen hívta meg. Az SQLCompleteAsync ebben az esetben nem tesz közzé semmilyen diagnosztikai rekordot. Lehetséges visszaküldési kódok:

  • SQL_INVALID_HANDLE: A HandleType és Handle által jelölt azonosító név nem érvényes cím.

  • SQL_ERROR: Az AsyncRetCodePtr NULL, vagy az aszinkron feldolgozás nincs engedélyezve a kezelőn.

  • SQL_NO_DATA: Értesítési módban nincs aszinkron művelet, vagy a Driver Manager nem értesítette az alkalmazást. Szavazási módban aszinkron művelet nem zajlik.

Comments

Polling alapú aszinkron feldolgozási módban az AsyncRetCodePtr SQL_STILL_EXECUTING lehet, amikor az SQLCompleteAsync SQL_SUCCESS ad. Az alkalmazásnak folytatnia kell a lekérdezést, amíg az AsyncRetCodePtr nem SQL_STILL_EXECUTING. Értesítés alapú aszinkron feldolgozási módban az AsyncRetCodePtr soha nem lesz SQL_STILL_EXECUTING.