Hitachi

Hitachi Advanced Data Binder AP開発ガイド


19.5.12 a_rdb_CNV_VARBINARYchar()(VARBINARY型データの変換)

〈この項の構成〉

(1) 機能

SQLのVARBINARY型のデータをC言語またはC++言語の文字列データに変換します。VARBINARY型のデータを文字列データに変換する場合の例を次の図に示します。

図19‒12 VARBINARY型のデータを文字列データに変換する場合の例

[図データ]

[説明]

VARBINARY型のデータを次の文字列定数の形式に変換し,格納領域の先頭から格納します。末尾には,ナル文字(0x00)が付加されます。

  • 変換後の文字列データの形式が2進数の場合:2進形式バイナリ定数

  • 変換後の文字列データの形式が16進数の場合:16進形式バイナリ定数

(2) 形式

#include <adbcnv.h>
 
signed short a_rdb_CNV_VARBINARYchar
(
  a_rdb_VARBINARY_t           *VARBINARY_Data,       /* In  */
  unsigned short               VARBINARY_Length,     /* In  */
  unsigned short               char_Type,            /* In  */
  char                        *char_Data,            /* Out */
  unsigned int                 BufferLength,         /* In  */
  void                        *Option                /* In  */
)

(3) 引数の説明

VARBINARY_Data

変換前のVARBINARY型のデータを格納している領域の先頭アドレスを指定します。

VARBINARY_Length

変換前のVARBINARY型のデータの長さを指定します(単位:バイト)。1〜32,000を指定できます。

char_Type

変換後の文字列データの形式を指定します。次のどちらかを指定してください。

  • 変換後の文字列データの形式が2進数の場合

    a_rdb_CNV_CHAR_TYPE_BINARY

  • 変換後の文字列データの形式が16進数の場合

    a_rdb_CNV_CHAR_TYPE_HEX

char_Data

変換後の文字列データ(C言語またはC++言語の文字列データ)を格納する領域の先頭アドレスを指定します。

BufferLength

変換後の文字列データを格納する領域の長さを指定します(単位:バイト)。次のどちらかの値を指定してください。

  • 変換後の文字列データの形式が2進数の場合

    VARBINARY_Lengthの値×8+1

  • 変換後の文字列データの形式が16進数の場合

    VARBINARY_Lengthの値×2+1

Option

NULLを指定します。値を指定しても無視されます。

(4) 戻り値

  1. a_rdb_CNV_VARBINARYchar()が正常に終了した場合,a_rdb_RC_CNV_SUCCESSが返却されます。

  2. エラーが発生した場合,戻り値にエラーコードが返却されます。エラーコードについては,「19.8 CLI関数の戻り値」を参照してください。

(5) 留意事項

変換前のデータ格納領域(VARBINARY_Data)と,変換後のデータ格納領域(char_Data)は重複しないようにしてください。