■13577 / ) |
Re[1]: VB6 ORACLEのBLOB型チェックについて |
□投稿者/ 七曜 (60回)-(2008/01/31(Thu) 17:19:06)
|
■No13574 (sada さん) に返信 ORACLE環境もVB6.0環境もないので推測でしかありませんが、
> 下記ロジックでは、 > > If IsNull(RecSet.Fields(2).Value) = True Then > 'データが無い!!
VB系はデフォルトだと配列は1から始まったと思いますので、これだと2番目を指していますよね。
> で、データがNULLにも関わらず、ELSEの方へ処理が移行してしまいます。 > 'BLOB列を含むSELECT文 > strSQL = " SELECT TEMPNO , " & _ > " EXPLANATION , " & _ > " ATTACHEDCHART , " & _ > " UPDPRSNLID , " & _ > " UPDDATE , " & _ > " INSPRSNLID , " & _ > " INSDATE " & _ > " FROM MTEMP " & _ > " WHERE TEMPNO ='" & strConvert & "'"
このSQL文の2番目の要素は、EXPLANATIONだと思われます。
> '説明 > If Not IsNull(RecSet.Fields("EXPLANATION").Value) Then > txtTEMPSetumei.Text = RecSet.Fields("EXPLANATION").Value > End If
ここでは、フィールド名で取得しているのに・・・
> '添付図オブジェクト > 'BLOB型にデータがあり?? > If IsNull(RecSet.Fields(2).Value) = True Then > 'データが無い!! > Else
ここでは、フィールドコレクションの2番目で取っていますよね。 RecSet.Fields(2)の内容をステップ実行で確認すると良いかと思いますが おそらく、RecSet.Fields("EXPLANATION")と一緒だと思われます。
BLOBとして評価したいのは、ATTACHEDCHART だと思われますので、 RecSet.Fields(3) か RecSet.Fields("ATTACHEDCHART") とすればよろしいのではないでしょうか。
|
|