19.5.1 a_rdb_CNV_charBINARY()(BINARY型データへの変換)
(1) 機能
C言語またはC++言語の文字列データ(2進数または16進数)をSQLのBINARY型のデータに変換します。文字列データをBINARY型のデータに変換する場合の例を次の図に示します。
- 重要
-
変換前の文字列データは,次に示す値である必要があります。
-
変換前の文字列データの形式が2進数の場合
'0'および'1'
-
変換前の文字列データの形式が16進数の場合
'0'〜'9'および'A'〜'F'(または'a'〜'f'')
-
(2) 形式
#include <adbcnv.h> signed short a_rdb_CNV_charBINARY ( char *char_Data, /* In */ unsigned int char_Length, /* In */ unsigned short char_Type, /* In */ unsigned short BINARY_Length, /* In */ unsigned char *BINARY_Data, /* Out */ unsigned short BufferLength, /* In */ void *Option /* In */ )
(3) 引数の説明
- char_Data:
-
変換前の文字列データ(C言語またはC++言語の文字列データ)を格納している領域の先頭アドレスを指定します。
- char_Length:
-
変換前の文字列データの長さを指定します(単位:バイト)。次の値を指定してください。
-
変換前の文字列データの形式が2進数の場合
1〜BINARY_Lengthの値×8
-
変換前の文字列データの形式が16進数の場合
1〜BINARY_Lengthの値×2
-
- char_Type:
-
変換前の文字列データの形式を指定します。次のどちらかを指定します。
-
変換前の文字列データの形式が2進数の場合
a_rdb_CNV_CHAR_TYPE_BINARY
-
変換前の文字列データの形式が16進数の場合
a_rdb_CNV_CHAR_TYPE_HEX
-
- BINARY_Length:
-
変換後のBINARY型データの長さを指定します(単位:バイト)。1〜32,000を指定できます。
- BINARY_Data:
-
変換後のBINARY型データを格納する領域の先頭アドレスを指定します。
- BufferLength:
-
変換後のBINARY型データを格納する領域の長さを指定します(単位:バイト)。BINARY_Lengthと同じ値を指定してください。
- Option:
-
NULLを指定します。値を指定しても無視されます。
(4) 戻り値
-
a_rdb_CNV_charBINARY()が正常に終了した場合,a_rdb_RC_CNV_SUCCESSが返却されます。
-
エラーが発生した場合,戻り値にエラーコードが返却されます。エラーコードについては,「19.8 CLI関数の戻り値」を参照してください。
(5) 留意事項
-
変換前のデータ格納領域(char_Data)と,変換後のデータ格納領域(BINARY_Data)は重複しないようにしてください。
-
変換前の文字列データの長さは,次の条件を満たしている必要があります。
-
変換前の文字列データの形式が2進数の場合:8の倍数
-
変換前の文字列データの形式が16進数の場合:2の倍数
-
-
変換前の文字列データをBINARY型データのデータ形式に変換し,格納領域の先頭から格納します。ただし,変換する文字列データの長さが次に示す値より小さい場合は,右側に0x00を補います。
-
変換前の文字列データの形式が2進数の場合:BINARY_Lengthの値×8
-
変換前の文字列データの形式が16進数の場合:BINARY_Lengthの値×2
-