SQL_STILL_EXECUTINGを返しますが、 ODBC API 関数をダイヤルするには、このマクロを使用します。
AFX_ODBC_CALL(SQLFunc )
パラメーター
- SQLFunc
ODBC API 関数。ODBC API 関数に関する詳細については、 Windows SDKを参照してください。
解説
AFX_ODBC_CALL を繰り返し、 SQL_STILL_EXECUTINGを返さないまで関数をダイヤルします。
呼び出し AFX_ODBC_CALLの前に、変数、 nRetCodeの型 RETCODEを宣言します。
MFC ODBC クラスが、同期操作のみ使用することに注意してください。非同期操作を実行するには、 ODBC API 関数 SQLSetConnectOptionをダイヤルします。詳細については、実行するトピックが 「 Windows SDKで」非同期的にやり取りしてください。
使用例
この例では strTableNameによって指定されたテーブルの列の一覧を返す SQLColumns ODBC API 関数をダイヤルするために AFX_ODBC_CALL を使用します。関数にパラメーターを渡す nRetCode の宣言とレコードセット データ メンバーの使用に注意してください。この例では、 Checkの呼び出し CRecordset、クラスのメンバー関数の結果をチェックすることを示します。可変 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"));
}
必要条件
Header: afxdb.h