| 分類:[VB6 以前]
皆様、いつもお世話になります。
VB6にてOracleのBLOB型のデータの取得後のチェックの実行方法について。 下記ロジックでは、
If IsNull(RecSet.Fields(2).Value) = True Then 'データが無い!! で、データがNULLにも関わらず、ELSEの方へ処理が移行してしまいます。 BLOB型のNULLの判定を行いたいのですが、うまくいきません。 どなたか些細なことでも構いませんので、ご教授いただけませんでしょうか。
宜しくお願い致します。
-------------------------------------------------------------------------------------------------- Private Function funTEMPGET(ByVal strConvert As String) As Boolean
On Error GoTo Error_proc
Dim RecSet As OraDynaset 'Oracleダイナセット用変数を宣言 Dim strSQL As String 'SQL文字列用変数を宣言 Dim objOraBlb As OraBlob 'OracleBLOB型オブジェクト変数を宣言【画像データ格納用】 Dim strFilePath As String '添付オブジェクト格納用を宣言 Dim strFilePath2 As String '添付オブジェクト格納用パスを宣言 funTEMPGET = True
strFilePath = "NYKTEMP.BMP" '格納用命名 strFilePath2 = App.Path & "\" & strFilePath '格納用パス指定 'BLOB列を含むSELECT文 strSQL = " SELECT TEMPNO , " & _ " EXPLANATION , " & _ " ATTACHEDCHART , " & _ " UPDPRSNLID , " & _ " UPDDATE , " & _ " INSPRSNLID , " & _ " INSDATE " & _ " FROM MTEMP " & _ " WHERE TEMPNO ='" & strConvert & "'" 'ダイナセットの設定 Set RecSet = gOraDatabase.CreateDynaset(strSQL, ORADYN_DEFAULT) '説明 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 'BLOB型のオブジェクトを設定 Set objOraBlb = RecSet.Fields(2).Value 'wk用ファイルパスへの書込み objOraBlb.CopyToFile strFilePath2 'ピクチャーコントロールにWk用パスを設定 imgTEMP.Picture = LoadPicture(strFilePath2) '入荷管理アプリケーションフォルダ内に一時的に排出された画像ファイルを削除 Kill strFilePath2 End If
RecSet.Close
'レコードセットの解放 Set RecSet = Nothing 'BLOB型のオブジェクトを解放 Set objOraBlb = Nothing
exit_proc: Exit Function Error_proc: ' gVb_Error ("funTEMPGET") funTEMPGET = False Set RecSet = Nothing Set objOraBlb = Nothing GoTo exit_proc End Function
-------------------------------------------------------------------------------------------------- |