Megosztás:


A felhasználó által megadott SQL-utasítások

Az alkalmi elemzést végző alkalmazások gyakran lehetővé teszik, hogy a felhasználó közvetlenül adjon meg SQL-utasításokat. Például:

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++;  
   }  
}  

Ez a megközelítés leegyszerűsíti az alkalmazások kódolását; az alkalmazás az SQL-utasítás elkészítésére és az adatforrásra támaszkodik az utasítás érvényességének ellenőrzéséhez. Mivel nehéz olyan grafikus felhasználói felületet írni, amely megfelelően elérhetővé teszi az SQL bonyolultságait, egyszerűen arra kérni a felhasználót, hogy írja be az SQL-utasítás szövegét, előnyösebb alternatíva lehet. Ehhez azonban a felhasználónak nem csak az SQL-t, hanem a lekérdezett adatforrás sémáját is ismernie kell. Egyes alkalmazások grafikus felhasználói felületet biztosítanak, amellyel a felhasználó létrehozhat egy alapszintű SQL-utasítást, és egy szöveges felületet is biztosít, amellyel a felhasználó módosíthatja azt.