13.31 Streamクラス

Streamを使用してストリーム・データ(通常はLONG)を読取りまたは書込みします。

  • 読取り可能なStreamを使用して、結果セットからのストリーム・データの取得、またはストアド・プロシージャ・コールからのOUTバインド変数の取得を行います。読取り可能なStreamは、最後のデータに達するまで完全に読み取るか、または、不要なデータを破棄するためにクローズする必要があります。

  • 書込み可能なStreamは、ストリーム・データ(通常はLONG)を、コール可能文を含むパラメータ化された文に提供するために使用されます。

表13-45 Streamクラスで使用される列挙値

属性 オプション
Status
  • READY_FOR_READは、Streamの読取り操作の準備ができていることを示します。

  • READY_FOR_WRITEは、Streamの書込み操作の準備ができていることを示します。

  • INACTIVEは、Streamが準備または書込み操作に利用できないことを示します。

表13-46 Streamメソッドの概要

メソッド 概要

readBuffer()

ストリームを読み取り、Streamオブジェクトから読み取ったデータ量を戻します。

readLastBuffer()

ストリームから最後のバッファを読み取ります。

writeBuffer()

バッファからストリームにデータを書き込みます。

writeLastBuffer()

バッファからストリームに最後のデータを書き込みます。

status()

ストリームの現在のステータスを戻します。

13.31.1 readBuffer()

Streamからデータを読み取ります。sizeパラメータには読み取るバイト文字の最大数を指定します。Streamオブジェクトから読み取ったデータ量を戻します。-1はストリームのデータの終了を意味します。

構文

virtual int readBuffer(
   char *buffer,
   unsigned int size) = 0;
パラメータ 説明
buffer

データ・バッファのポインタを指定します。ポインタは、コール元で割当ておよび解放する必要があります。

size

読み取るバイト数を指定します。

13.31.2 readLastBuffer()

Streamから最後のバッファを読み取ります。読み取らないデータを廃棄するためにコールすることもできます。sizeパラメータには読み取るバイト文字の最大数を指定します。Streamオブジェクトから読み取ったデータ量を戻します。-1はストリームのデータの終了を意味します。

構文

virtual int readLastBuffer(
   char *buffer,
   unsigned int size) = 0;
パラメータ 説明
buffer

データ・バッファのポインタを指定します。ポインタは、コール元で割当ておよび解放する必要があります。

size

読み取るバイト数を指定します。

13.31.3 writeBuffer()

バッファからストリームにデータを書き込みます。データ量は、サイズによって決まります。

構文

virtual void writeBuffer(
   char *buffer,
   unsigned int size) = 0;
パラメータ 説明
buffer

データ・バッファへのポインタを指定します。

size

書き込むchars数を指定します。

13.31.4 writeLastBuffer()

このメソッドは、バッファからストリームに最後のデータを書き込みます。データの最後のチャンクを書き込むためにコールすることもできます。書き込まれるデータ量は、サイズによって決まります。

構文

virtual void writeLastBuffer(
   char *buffer,
   unsigned int size) = 0;
パラメータ 説明
buffer

データ・バッファへのポインタを指定します。

size

書き込むバイト数を指定します。

13.31.5 status()

現在のStatusを戻します。表13-45の定義を参照してください。

構文

virtual Status status() const;