Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Приложения, выполняющие нерегламентированный анализ, также часто позволяют пользователю вводить инструкции SQL напрямую. Рассмотрим пример.
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++;
}
}
Такой подход упрощает кодирование приложений; Приложение полагается на пользователя, чтобы создать инструкцию SQL и источник данных, чтобы проверить допустимость инструкции. Так как трудно написать графический пользовательский интерфейс, который адекватно отображает сложности SQL, просто предложить пользователю ввести текст SQL-запроса может быть предпочтительным вариантом. Однако это требует, чтобы пользователь знал не только SQL, но и схему запрашиваемого источника данных. Некоторые приложения предоставляют графический пользовательский интерфейс, с помощью которого пользователь может создать базовую инструкцию SQL, а также предоставить текстовый интерфейс, с помощью которого пользователь может изменить его.