顧客マスター 未入力の対応

実際にシステムを使う場合は、未入力のフィールドがあっても、ある程度チェックをゆるやかにしたほうがいい場合があります。あまりガチガチに固めてしまうと利用しにくいからです。

すべてのフィールドを入力しないと追加や更新ができないとなると面倒ですよね。CST_CDとCST_NAMEだけで十分ということもあります。

必須にするフィールドはシステムの目的によっても変わってきますので、よく検討してから作るようにしましょう。

しかしプログラミング初心者のうちは、すべて入力する方法をおすすめします。なぜなら未入力を許可するにはSQL文とプログラムを少し工夫する必要があるからです。

例えば必須のフィールドがCST_CDとCST_NAMEだけの場合を考えてみましょう。SEX_CDはラジオボタンなので必ず選択されます。

・本来のSQL文
insert into T04Customer values(11,'山田 太郎',37053,'123','000-000-0000','1978/05/28',0)

・未入力のときプログラムで作成されるSQL文(間違い)
insert into T04Customer values(11,'山田 太郎',,'','','',0)

・正しくは未入力の部分は「null」という特別な値を使います。
insert into T04Customer values(11,'山田 太郎',null,null,null,null,0)

よく見るとnullは「'」シングルクォーテーションで囲まれていません。以下のように書くと間違いです。
insert into T04Customer values(11,'山田 太郎','null','null','null','null',0)

つまりデータが入力されている場合は「'あああ'」、入力されていない場合は「null」となるように「'」を付けたり外したりするプログラムにする必要があります。

また逆にデータベースからnullを含むレコードを取り出すときにもプログラムの修正が必要です。例えば関数cstChange()では、データが入っているときとnullのときで処理を分ける必要があります。TOWN_CDやBIRTHがnullだとそのままではエラーになります。

初心者のうちは長いSQL文を作るだけでも苦労しますから、nullの処理まで考えるとかなり大変です。以上の理由からすべて入力するようにデータチェックを書いていたほうがSQL文やプログラムは簡単になります。


スポンサードリンク

スポンサードリンク






JavaScript初心者入門講座TOPへ