指定されたカラムのためにフェッチされた値を、指定されたバッファに格納します。
sacapi_bool sqlany_get_column( a_sqlany_stmt * stmt, sacapi_u32 col_index,
a_sqlany_data_value * value )
stmt sqlany_execute または sqlany_execute_direct によって実行された文オブジェクト。
col_index 取り出すカラムの数。カラムの数は、0 ~ sqlany_num_cols() - 1 の間です。
value カラム col_index のためにフェッチされたデータを格納する a_sqlany_data_value オブジェクト。
A_BINARY および A_STRING * データ型では、value->buffer は、結果セットに関連付けられている内部バッファをポイントします。ポインタ buffer の内容は、新しいローがフェッチされた際や結果セット・オブジェクトが解放された際に変更されます。したがってポインタの内容を変更したり、内容に依存したりしないでください。ポインタからバッファにデータをコピーします。
length フィールドは、value->buffer がポイントする有効な文字の数を示します。value->buffer で返されるデータは、NULL で終了しません。この関数は、SQL Anywhere データベース・サーバからのすべての戻り値をフェッチします。たとえば、カラムに 2 GB のBLOB が含まれている場合、その値を保持するのに必要なメモリの割り付けは sqlany_get_column 関数が行います。メモリの割り付けを行わない場合は、sqlany_get_data を使用してください。
成功した場合は 1、失敗した場合は 0。パラメータのいずれかが無効であった場合、または SQL Anywhere データベース・サーバから完全な値を取り出すために必要なメモリがない場合は、失敗する可能性があります。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |