BLOBデータ型の1つの列を含むテーブルmypicsを作成しました。
次に、このテーブルのデータを選択/挿入/更新するためのvb6コードを実装する必要がありますが、BLOB列の処理方法がわかりません...
SQL> desc mypics Name Null?タイプ
PID NOT NULL NUMBER(38)
PNAME CHAR(10)
IMAGE BLOB
助けてください
始めるためのサンプルコードを次に示します。3つのフィールドを持つtblImagesという名前のテーブルを想定します。
フィールドデータ型のサイズ 画像画像 ID Int 4
ディスク上のファイルからデータベースにイメージを追加するには
Set strStream = New ADODB.Stream
strStream.Type = adTypeBinary
strStream.Open
strStream.LoadFromFile strFileName
strSQL = "SELECT ID, Picture FROM tblImages"
Set rs = New ADODB.Recordset
With rs
.ActiveConnection = cn
.Source = strSQL
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open
End With
rs.AddNew
rs.Fields("ID").Value = ID
rs.Fields("Picture").Value = strStream.Read
rs.Update
rs.Close
Set rs = Nothing
データベースからディスクファイルにファイルを抽出するには:
strSQL = "SELECT Picture FROM tblImages WHERE ID = " & ID
Set rs = New ADODB.Recordset
With rs
.ActiveConnection = cn
.Source = strSQL
.Open
End With
If Not (rs.BOF And rs.EOF) Then
Set strStream = New ADODB.Stream
strStream.Type = adTypeBinary
strStream.Open
strStream.Write rs!Picture
strStream.SaveToFile TempPath, adSaveCreateOverWrite
strStream.Close
Set strStream = Nothing
End If
rs.Close
Set rs = Nothing
これがお役に立てば幸いです。