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

SQL Anywhere 12.0.1 » SQL Anywhere サーバー プログラミング » Embedded SQL » SQLDA (SQL descriptor area) » SQLDA の sqllen フィールドの値

 

値を送信するときの SQLDA の sqllen フィールドの値

次の表は、SQLDA においてデータベースサーバーにデータを渡すとき、値の長さをどう指定するかを示します。

この場合は、表で示したデータ型だけを使用できます。DT_DATE、DT_TIME、DT_TIMESTAMP 型は、データベースに情報を渡すときは、DT_STRING 型と同じものとして扱われます。値は、NULL で終了する適切な日付または時刻形式の文字列にしてください。

Embedded SQL のデータ型 長さを設定するプログラム動作
DT_BIGINT 動作不要
DT_BINARY(n) BINARY 構造体の長さフィールドから取る
DT_BIT 動作不要
DT_DATE 末尾の null 文字によって長さが決まる
DT_DOUBLE 動作不要
DT_FIXCHAR(n) SQLDA の長さフィールドが文字列の長さを決定する
DT_FLOAT 動作不要
DT_INT 動作不要
DT_LONGBINARY 長さフィールドが無視される。
DT_LONGNVARCHAR 長さフィールドが無視される。
DT_LONGVARCHAR 長さフィールドが無視される。
DT_NFIXCHAR(n) SQLDA の長さフィールドが文字列の長さを決定する
DT_NSTRING 末尾の \0 によって長さが決まる。ansi_blanks オプションが On に設定されていて、データベースでブランクが埋め込まれる場合、SQLDA の長さフィールドは、値が含まれているバッファーの長さ (少なくても値の長さと末尾の NULL 文字の分を足した長さ) に設定される。
DT_NVARCHAR NVARCHAR 構造体の長さフィールドから取る
DT_SMALLINT 動作不要
DT_STRING 末尾の \0 によって長さが決まる。ansi_blanks オプションが On に設定されていて、データベースでブランクが埋め込まれる場合、SQLDA の長さフィールドは、値が含まれているバッファーの長さ (少なくても値の長さと末尾の NULL 文字の分を足した長さ) に設定される。
DT_TIME 末尾の null 文字によって長さが決まる
DT_TIMESTAMP 末尾の null 文字によって長さが決まる
DT_TIMESTAMP_STRUCT 動作不要
DT_UNSBIGINT 動作不要
DT_UNSINT 動作不要
DT_UNSSMALLINT 動作不要
DT_VARCHAR(n) VARCHAR 構造体の長さフィールドから取る
DT_VARIABLE 末尾の \0 によって長さが決まる
 参照