Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Az utasítás végrehajtásának legegyszerűbb módja a közvetlen végrehajtás. Amikor az utasítást végrehajtásra küldi, az adatforrás egy hozzáférési tervbe állítja, majd végrehajtja a hozzáférési tervet.
A közvetlen végrehajtást általában olyan általános alkalmazások használják, amelyek futtatáskor utasításokat építenek ki és hajtanak végre. A következő kód például létrehoz egy SQL-utasítást, és egyetlen alkalommal hajtja végre:
SQLCHAR *SQLStatement;
// Build a SQL statement.
BuildStatement(SQLStatement);
// Execute the statement.
SQLExecDirect(hstmt, SQLStatement, SQL_NTS);
A közvetlen végrehajtás az egyetlen alkalommal végrehajtandó utasítások esetében működik a legjobban. A fő hátránya, hogy az SQL-utasítás minden végrehajtásakor elemezve lesz. Ezenkívül az alkalmazás nem tud adatokat lekérni az utasítás által létrehozott eredménykészletről (ha van ilyen), amíg az utasítás végrehajtása nem történik meg; ez akkor lehetséges, ha az utasítást két külön lépésben készíti el és hajtja végre.
Az utasítás közvetlen végrehajtásához az alkalmazás a következő műveleteket hajtja végre:
Beállítja a paraméterek értékeit. További információ a Nyilatkozat paraméterei megtalálható a szakasz későbbi részében.
Meghívja az SQLExecDirectet és átadja az SQL-utasítást tartalmazó sztringet.
Az SQLExecDirect meghívásakor az illesztőprogram:
Módosítja az SQL-utasítást, hogy az adatforrás SQL-nyelvtanát használja az utasítás elemzése nélkül; Ez magában foglalja az ODBC Escape Sequencesben tárgyalt menekülési sorozatok cseréjét is. Az alkalmazás az SQLNativeSql meghívásával lekérheti egy SQL-utasítás módosított formáját. A feloldósorozatok nem cserélődnek le, ha a SQL_ATTR_NOSCAN utasítás attribútum be van állítva.
Lekéri az aktuális paraméterértékeket, és szükség szerint konvertálja őket. További információ a Nyilatkozat paraméterei megtalálható a szakasz későbbi részében.
Elküldi az utasítást, és konvertálja a paraméterértékeket az adatforrásnak végrehajtás céljából.
Minden hibát visszaad. Ezek közé tartoznak a szekvenálási vagy állapotdiagnosztikák, például az SQLSTATE 24000 (Érvénytelen kurzorállapot), a szintaktikai hibák, például az SQLSTATE 42000 (Szintaktikai hiba vagy hozzáférés megsértése) és szemantikai hibák, például az SQLSTATE 42S02 (Alaptábla vagy nézet nem található).