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.
Toepassingen die ad-hocanalyses uitvoeren, maken het vaak ook mogelijk dat de gebruiker RECHTSTREEKS SQL-instructies invoert. Voorbeeld:
SQLCHAR * Statement, SqlState[6], Msg[SQL_MAX_MESSAGE_LENGTH];
SQLSMALLINT i, MsgLen;
SQLINTEGER NativeError;
SQLRETURN rc1, rc2;
// Prompt user for SQL statement.
GetSQLStatement(Statement);
// Execute the statement directly. Because it will be executed only once,
// do not prepare it.
rc1 = SQLExecDirect(hstmt, Statement, SQL_NTS);
// Process any errors or returned information.
if ((rc1 == SQL_ERROR) || rc1 == SQL_SUCCESS_WITH_INFO) {
i = 1;
while ((rc2 = SQLGetDiagRec(SQL_HANDLE_STMT, hstmt, i, SqlState, &NativeError,
Msg, sizeof(Msg), &MsgLen)) != SQL_NO_DATA) {
DisplayError(SqlState, NativeError, Msg, MsgLen);
i++;
}
}
Deze aanpak vereenvoudigt het coderen van toepassingen; de toepassing is afhankelijk van de gebruiker om de SQL-instructie en de gegevensbron te bouwen om de geldigheid van de instructie te controleren. Omdat het moeilijk is om een grafische gebruikersinterface te schrijven die de complexiteit van SQL voldoende blootstelt, kan het eenvoudigweg een alternatief zijn om de gebruiker te vragen de SQL-instructietekst in te voeren. Hiervoor moet de gebruiker echter niet alleen sql kennen, maar ook het schema van de gegevensbron die wordt opgevraagd. Sommige toepassingen bieden een grafische gebruikersinterface waarmee de gebruiker een eenvoudige SQL-instructie kan maken en ook een tekstinterface biedt waarmee de gebruiker deze kan wijzigen.