Megosztás a következőn keresztül:


Az ODBC visszatérési kódok

Az ODBC minden függvénye egy olyan kódot ad vissza , amely a függvény általános sikerességét vagy sikertelenségét jelzi. A programlogika általában visszatérési kódokon alapul.

Az alábbi kód például meghívja az SQLFetchet , hogy lekérje az eredményhalmaz sorait. Ellenőrzi a függvény visszatérési kódját annak megállapításához, hogy elérte-e az eredményhalmaz végét (SQL_NO_DATA), visszaadott-e figyelmeztető információt (SQL_SUCCESS_WITH_INFO), vagy hiba történt-e (SQL_ERROR).

SQLRETURN   rc;  
SQLHSTMT    hstmt;  
  
while ((rc=SQLFetch(hstmt)) != SQL_NO_DATA) {  
   if (rc == SQL_SUCCESS_WITH_INFO) {  
      // Call function to display warning information.  
   } else if (rc == SQL_ERROR) {  
      // Call function to display error information.  
      break;  
   }  
   // Process row.  
}  

A visszatérési kód SQL_INVALID_HANDLE mindig programozási hibát jelez, és soha nem szabad futásidőben ütközni. Minden más visszatérési kód futásidejű információt tartalmaz, bár SQL_ERROR programozási hibát jelezhet.

Az alábbi táblázat a visszatérési kódokat határozza meg.

Kód visszaadása Description
SQL_SUCCESS A függvény sikeresen befejeződött. Az alkalmazás meghívja az SQLGetDiagFieldet , hogy további információkat kérjen le a fejlécrekordból.
SQL_SUCCESS_WITH_INFO A függvény sikeresen befejeződött, lehetséges, hogy nemfatális hibával (figyelmeztetéssel). Az alkalmazás további információk lekéréséhez meghívja az SQLGetDiagRec vagy az SQLGetDiagField alkalmazást.
SQL_ERROR A függvény meghiúsult. Az alkalmazás további információk lekéréséhez meghívja az SQLGetDiagRec vagy az SQLGetDiagField alkalmazást. A függvény kimeneti argumentumainak tartalma nincs meghatározva.
SQL_INVALID_HANDLE A függvény érvénytelen környezet, kapcsolat, utasítás vagy leíró miatt meghiúsult. Ez programozási hibát jelez. Az SQLGetDiagRec vagy az SQLGetDiagField nem tartalmaz további információt. Ezt a kódot csak akkor adja vissza a rendszer, ha a leíró null mutató vagy helytelen típusú, például ha egy kapcsolati leírót igénylő argumentumhoz utasításleírót adnak meg.
SQL_NO_DATA Nem volt több adat. Az alkalmazás további információk lekéréséhez meghívja az SQLGetDiagRec vagy az SQLGetDiagField alkalmazást. A 02xxx osztály egy vagy több illesztőprogram által definiált állapotrekordja visszaadható. Megjegyzés: Az ODBC 2-ben. x, ezt a visszatérési kódot SQL_NO_DATA_FOUND nevezték el.
SQL_NEED_DATA További adatokra van szükség, például amikor a paraméteradatokat a végrehajtási időpontban küldik el, vagy további kapcsolati adatokra van szükség. Az alkalmazás meghívja az SQLGetDiagRec-et vagy az SQLGetDiagFieldet további információk lekéréséhez, ha vannak ilyenek.
SQL_STILL_EXECUTING Az aszinkron módon elindított függvény továbbra is fut. Az alkalmazás meghívja az SQLGetDiagRec-et vagy az SQLGetDiagFieldet további információk lekéréséhez, ha vannak ilyenek.