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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - プログラミング » SQL Anywhere データ・アクセス API » SQL Anywhere Embedded SQL » SQLDA (SQL descriptor area) » SQLDA の sqllen フィールドの値

 

値の送信

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

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

Embedded SQL のデータ型 長さを設定するプログラム動作
DT_BIGINT 動作不要
DT_BINARY(n) BINARY 構造体の長さフィールドから取る
DT_BIT 動作不要
DT_DATE 末尾の \0 によって長さが決まる
DT_DOUBLE 動作不要
DT_FIXCHAR(n) SQLDA の長さフィールドが文字列の長さを決定する
DT_FLOAT 動作不要
DT_INT 動作不要
DT_LONGBINARY 長さフィールドが無視される。LONG データの送信を参照してください。
DT_LONGNVARCHAR 長さフィールドが無視される。LONG データの送信を参照してください。
DT_LONGVARCHAR 長さフィールドが無視される。LONG データの送信を参照してください。
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 末尾の \0 によって長さが決まる
DT_TIMESTAMP 末尾の \0 によって長さが決まる
DT_TIMESTAMP_STRUCT 動作不要
DT_UNSBIGINT 動作不要
DT_UNSINT 動作不要
DT_UNSSMALLINT 動作不要
DT_VARCHAR(n) VARCHAR 構造体の長さフィールドから取る
DT_VARIABLE 末尾の \0 によって長さが決まる