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