次の表は、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 によって長さが決まる |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |