Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Aplikace, které provádějí ad hoc analýzu, také běžně umožňují uživateli zadat příkazy SQL přímo. Například:
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++;
}
}
Tento přístup zjednodušuje kódování aplikací; aplikace spoléhá na uživatele k sestavení příkazu SQL a ke zdroji dat ke kontrole platnosti příkazu. Vzhledem k tomu, že je obtížné napsat grafické uživatelské rozhraní, které adekvátně zveřejňuje složité funkce SQL, může být vhodnější alternativou jednoduše požádat uživatele, aby zadal text příkazu SQL. To ale vyžaduje, aby uživatel věděl nejen SQL, ale také schéma dotazovaného zdroje dat. Některé aplikace poskytují grafické uživatelské rozhraní, pomocí kterého může uživatel vytvořit základní příkaz SQL a také poskytnout textové rozhraní, se kterým ho uživatel může upravit.