|
分類:[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
--------------------------------------------------------------------------------------------------
|