次の方法で共有


AFX_ODBC_CALL

更新 : 2007 年 11 月

SQL_STILL_EXECUTING を返す任意の ODBC (Open Database Connectivity) API 関数を呼び出すときに、このマクロを使用します。

AFX_ODBC_CALL(SQLFunc )

パラメータ

  • SQLFunc
    ODBC API 関数。ODBC API 関数の詳細については、Windows SDK を参照してください。

解説

AFX_ODBC_CALL は、関数が SQL_STILL_EXECUTING を返さなくなるまで、関数呼び出しを繰り返します。

AFX_ODBC_CALL を起動する前に、RETCODE 型の変数 nRetCode を宣言します。

MFC ODBC クラスは、同期処理だけを行うようになりました。非同期処理を行うには、ODBC API 関数の SQLSetConnectOption を呼び出します。詳細については、Windows SDK で、関数の非同期実行に関するトピックを参照してください。

使用例

この例では、AFX_ODBC_CALL を使用して、strTableName で名前を指定されたテーブルに列の一覧を戻す SQLColumns ODBC API 関数を呼び出しています。nRetCode を宣言し、レコードセット データ メンバを使用してパラメータを関数に渡します。この例では、呼び出しの結果を CRecordset クラスの Check メンバ関数で確認する方法も示しています。変数 prs は CRecordset オブジェクトへのポインタであり、ほかの場所で宣言されています。

RETCODE nRetCode;

AFX_ODBC_CALL(::SQLColumns(prs->m_hstmt, (SQLTCHAR*)NULL, SQL_NTS, (SQLTCHAR*)NULL,
   SQL_NTS, (SQLTCHAR*)strTableName.GetBuffer(), SQL_NTS, (SQLTCHAR*)NULL, SQL_NTS));

if (!prs->Check(nRetCode))
{
   AfxThrowDBException(nRetCode, prs->m_pDatabase, prs->m_hstmt);
   TRACE(_T("SQLColumns failed\n"));
}

必要条件

ヘッダー : afxdb.h

参照

概念

MFC マクロとグローバル

参照

AFX_SQL_ASYNC

AFX_SQL_SYNC