SQLGetData およびブロック カーソル
SQLGetData は、単一行の単一の列で動作し、複数の行からデータを含む配列をフェッチすることはできません。 これは、SQLGetData の主な用途は、一部の長いデータをフェッチするためであり、一度に複数の行に対してこれを行う理由はほとんどありません。
ブロック カーソルで SQLGetData を使用するには、アプリケーションが最初に SQLSetPos を呼び出して、カーソルを 1 行に配置します。 その後、その行の列に対して SQLGetData を呼び出します。 ただし、この動作はオプションです。 ドライバーがブロック カーソルを持つ SQLGetData の使用をサポートしているかどうかを判断するために、アプリケーションは、SQL_GETDATA_EXTENSIONS オプションを使用して SQLGetInfo を呼び出します。