AFX_ODBC_CALL ( SQLFunc )
Параметры
SQLFunc
Функции ODBC API. Для получения дополнительных сведений о функциях ODBC API приведена в справочнике программиста ODBC SDK.
Примечания
Используйте этот макрос для вызова любой ODBC API функции, которая может возвращать SQL_STILL_EXECUTING. AFX_ODBC_CALL неоднократно вызывает функцию до тех пор, пока он больше не возвращает SQL_STILL_EXECUTING.
Перед вызовом AFX_ODBC_CALL, необходимо объявить переменную, nRetCode , типа RETCODE. Используйте CRecordset::Check для проверки значения nRetCode после вызова макроса.
Обратите внимание, что MFC ODBC классов теперь использование только синхронной обработки. Для того чтобы выполнить асинхронную операцию, необходимо вызвать функцию ODBC API SQLSetConnectOption. Для получения дополнительных сведений в разделе «Выполнение функций асинхронно» в справочнике программиста ODBC SDK.
Пример
В этом примере используется AFX_ODBC_CALL для вызова функции ODBC API SQLColumns , которая возвращает список столбцов в таблице, назван strTableName . Обратите внимание, Декларация о nRetCode и использование элементам данных для передачи параметров в функции. Также пример иллюстрирует проверку результатов вызова с проверить, функции-члена класса CRecordset. Переменная prs является указателем на объект CRecordset , объявил других стран.
/ / Пример для AFX_ODBC_CALL
RETCODE nRetCode;
AFX_ODBC_CALL (:: SQLColumns (prs-gt; m_hstmt,
(UCHAR *)ЗНАЧЕНИЕ NULL, SQL_NTS, (UCHAR *) ЗНАЧЕНИЕ NULL,
SQL_NTS, (UCHAR *)(constchar*) strTableName,
SQL_NTS, (UCHAR *) NULL, SQL_NTS));
Если (! prs - > Проверка (nRetCode))
{
AfxThrowDBException (nRetCode, prs - > m_pdb, prs - > m_hstmt);
СЛЕД ("SQLColumns failed\n");
}
См. такжеnbsp;AFX_SQL_ASY&NC, AFX_SQL_SYNC