• 締切済み

データコンボのNullについて

何度もすいませんm(__)m データコンボで 値が選択されてない場合は nullをデータベースに格納したいんですが、 できません。nullの使い方が不正です。と出ます。 教えてください。 VB6を使ってますデータベースはMySQLです。 Dim id As Integer If Me.DataCombo1.Text = "" Then id = Null Else id = Me.DataCombo1.SelectedItem End If datacombo1はInteger型のデータを データベースに格納します

みんなの回答

回答No.5

>>VBにC言語のようなNULLの概念はありません。 >いやありますよ。 Cとちょとは概念が違う。 だからCと同じ感覚で使うと 大変なことになるよ。 詳しくはMSDN参照のこと。 そもそも質問者のidってなに? 主キー? 主キーでNullを突っ込もうとしているなんて 信じられないけど idが主キーでない場合は まぁ普通はそのidをif文で判断して UPDATE文なりINSERT文なりを 構築してやるべきだろうね。

jpgif
質問者

補足

大変遅れてすいません。 主キーではないです。 結局0を渡すようにしました。 ありがとうございました。

  • AnalHare
  • ベストアンサー率8% (9/110)
回答No.4

単純にコントロールがNULL禁止なんでしょう。 >>datacombo1はInteger型のデータを データベースに格納します ちょっとまて!!数値型の枠にNULLは入れれません。 これはコントロールの問題ではなく 変数の問題ですので、なにやってもだめだとおもう。 つまり数値型でない型にしてください

  • AnalHare
  • ベストアンサー率8% (9/110)
回答No.3

>>VBにC言語のようなNULLの概念はありません。 いやありますよ。 vbに無いのはポインター処理です

jpgif
質問者

補足

NULLの概念あるんですか。 ちょっとほっとしました。 上のプログラムをどうなおしたらいいんでしょうか? すいません、教えてください(>_<)

  • AnalHare
  • ベストアンサー率8% (9/110)
回答No.2

だからNullをいれてはいけないんでしょ。

回答No.1

VBにC言語のようなNULLの概念はありません。 Integer型の初期値は0と決まっていますから、NULLをセットする事は不可能です。 NULLをDBに登録したい場合、idは0のままで、登録時に判断せざるを得ないでしょう。

関連するQ&A