現在、下記のコードで
data[0] := 'TEST001';
data[1] := '0';
data[2] := ''; (or data[2] := ' ' ←半角スペースもダメ)
DBGrid1.DataSource.DataSet.AppendRecord([data[0],data[1],data[2]]);
このAppend命令のところで
『フィールド値が必要です。』と、エラーになってしまいます。
data[2] := 'A'; としてあげると、問題なくAppendされます。
空白フィールドを設定したいのですが、どのようにすれば
よろしいのでしょうか?
dbは、AS400を使用しています。
data[2]のDDSのフィールドのデータタイプは 「Aタイプ」 で設定しています。
データーベース側の定義でNotNullになっていないですか?
AS400側では、『A』は文字データですので、
NotNullとかは関係ないと思うのですが・・・。
HOtaさんが言われているのは
NotNullはテーブルを作成された時フィールドの定義です。
そのフィールドがNullを許容されるように最初から設計されていれば
空文字でも受け入れるでしょうが、そうで無ければ空文字(場合によ
っては半角空白)はエラー(値が必要とかNullはダメとか)を返しま
す。
よって、テーブルを再定義する必要があるでしょう。
もし再定義できなければ、何かルール付けしてそれに基づいたデータ
を挿入するしかないでしょう。
たぶん
>dbは、AS400を使用しています。
細かいことを言うようですがAS400ではなくDB2ですよね?
(AS400はIBMのオフコンの名称かと)
ツイート | ![]() |