- 締切済み
データコンボの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型のデータを データベースに格納します
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- corocoro1616
- ベストアンサー率13% (12/87)
>>VBにC言語のようなNULLの概念はありません。 >いやありますよ。 Cとちょとは概念が違う。 だからCと同じ感覚で使うと 大変なことになるよ。 詳しくはMSDN参照のこと。 そもそも質問者のidってなに? 主キー? 主キーでNullを突っ込もうとしているなんて 信じられないけど idが主キーでない場合は まぁ普通はそのidをif文で判断して UPDATE文なりINSERT文なりを 構築してやるべきだろうね。
- AnalHare
- ベストアンサー率8% (9/110)
単純にコントロールがNULL禁止なんでしょう。 >>datacombo1はInteger型のデータを データベースに格納します ちょっとまて!!数値型の枠にNULLは入れれません。 これはコントロールの問題ではなく 変数の問題ですので、なにやってもだめだとおもう。 つまり数値型でない型にしてください
- AnalHare
- ベストアンサー率8% (9/110)
>>VBにC言語のようなNULLの概念はありません。 いやありますよ。 vbに無いのはポインター処理です
補足
NULLの概念あるんですか。 ちょっとほっとしました。 上のプログラムをどうなおしたらいいんでしょうか? すいません、教えてください(>_<)
- AnalHare
- ベストアンサー率8% (9/110)
だからNullをいれてはいけないんでしょ。
- めとろいと(@naktak)
- ベストアンサー率36% (785/2139)
VBにC言語のようなNULLの概念はありません。 Integer型の初期値は0と決まっていますから、NULLをセットする事は不可能です。 NULLをDBに登録したい場合、idは0のままで、登録時に判断せざるを得ないでしょう。
補足
大変遅れてすいません。 主キーではないです。 結局0を渡すようにしました。 ありがとうございました。