数値データ型での既定の有効桁数と小数点以下桁数のオーバーライド

ARD のSQL_DESC_TYPE フィールドが SQL_C_NUMERIC に設定されている場合、 SQLBindCol または SQLSetDescField を呼び出すことによって、ARD のSQL_DESC_SCALE フィールドは 0 に設定され、SQL_DESC_PRECISION フィールドはドライバー定義の既定の精度に設定されます。 これは、APD のSQL_DESC_TYPE フィールドが SQLBindParameter または SQLSetDescField を呼び出してSQL_C_NUMERICに設定されている場合にも当てはまります。 これは、入力パラメーター、入力/出力パラメーター、または出力パラメーターに当てはまります。

前に説明した既定値のいずれかがアプリケーションで使用できない場合、アプリケーションは SQLSetDescField または SQLSetDescRec を呼び出して、SQL_DESC_SCALE または SQL_DESC_PRECISION フィールド 設定する必要があります。

アプリケーションが SQLGetData を呼び出してデータをSQL_C_NUMERIC構造体に返す場合、既定のSQL_DESC_SCALEフィールドとSQL_DESC_PRECISION フィールドが使用されます。 既定値が許容されない場合、アプリケーションは SQLSetDescRec または SQLSetDescField を呼び出してフィールドを設定し、TargetType が SQL_ARD_TYPE の SQLGetData を呼び出して記述子フィールドの値を使用する必要があります。

SQLPutData が呼び出されると、呼び出しでは、実行時データ パラメーターまたは列に対応する記述子レコードのSQL_DESC_SCALEフィールドとSQL_DESC_PRECISION フィールドが使用されます。これは、SQLExecute または SQLExecDirect の呼び出し用の APD フィールド、または SQLBulkOperations または SQLSetPos の呼び出しに ARD フィールドです。