Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Directe uitvoering is de eenvoudigste manier om een instructie uit te voeren. Wanneer de instructie voor uitvoering wordt aangeboden, verwerkt de gegevensbron deze tot een toegangsplan en voert vervolgens dat toegangsplan uit.
Directe uitvoering wordt vaak gebruikt door algemene toepassingen die tijdens runtime instructies bouwen en uitvoeren. Met de volgende code wordt bijvoorbeeld een SQL-instructie gebouwd en één keer uitgevoerd:
SQLCHAR *SQLStatement;
// Build a SQL statement.
BuildStatement(SQLStatement);
// Execute the statement.
SQLExecDirect(hstmt, SQLStatement, SQL_NTS);
Directe uitvoering werkt het beste voor instructies die één keer worden uitgevoerd. Het belangrijkste nadeel is dat de SQL-instructie wordt geparseerd telkens wanneer deze wordt uitgevoerd. Bovendien kan de toepassing geen informatie ophalen over de resultatenset die is gemaakt door de instructie (indien van toepassing) totdat de instructie is uitgevoerd; dit is mogelijk als de instructie wordt voorbereid en uitgevoerd in twee afzonderlijke stappen.
Als u een instructie rechtstreeks wilt uitvoeren, voert de toepassing de volgende acties uit:
Hiermee stelt u de waarden van parameters in. Voor meer informatie, zie Instructieparameters verderop in deze sectie.
Roept SQLExecDirect aan en geeft deze een tekenreeks door die de SQL-instructie bevat.
Wanneer SQLExecDirect wordt aangeroepen, wordt het stuurprogramma:
Wijzigt de SQL-instructie om de SQL-grammatica van de gegevensbron te gebruiken zonder de instructie te parseren; Dit omvat het vervangen van de escapereeksen die worden besproken in Escape Sequences in ODBC. De toepassing kan de gewijzigde vorm van een SQL-instructie ophalen door SQLNativeSql aan te roepen. Escape-reeksen worden niet vervangen als het instructie-attribuut SQL_ATTR_NOSCAN is ingesteld.
Haalt de huidige parameterwaarden op en converteert deze indien nodig. Voor meer informatie, zie Instructieparameters verderop in deze sectie.
Verzendt de instructie en geconverteerde parameterwaarden naar de gegevensbron voor uitvoering.
Retourneert eventuele fouten. Deze omvatten volgordebepaling of statusdiagnostiek zoals SQLSTATE 24000 (Ongeldige cursorstatus), syntactische fouten zoals SQLSTATE 42000 (Syntaxisfout of toegangsfout), en semantische fouten zoals SQLSTATE 42S02 (Basistabel of weergave niet gevonden).