Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - プログラミング » SQL Anywhere データ・アクセス API » SQL Anywhere C API リファレンス » sacapi.h

 

sqlany_get_column 関数

指定されたカラムのためにフェッチされた値を、指定されたバッファに格納します。

構文
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 データベース・サーバから完全な値を取り出すために必要なメモリがない場合は、失敗する可能性があります。

参照