在數據庫中添加圖片

添加兩個按鈕,一個image控件
注意:Access中的photo字段類型爲OLE對象.
SqlServer中的photo字段類型爲Image

'** 引用 Microsoft ActiveX Data Objects 2.5 Library 及以上版本
‘2.5版本以下不支持Stream對象
Dim iConcstr As String
Dim iConc As ADODB.Connection
 

'保存文件到數據庫中
Sub s_SaveFile()
    Dim iStm As ADODB.Stream
    Dim iRe As ADODB.Recordset
    Dim iConcstr As String

    '讀取文件到內容
    Set iStm = New ADODB.Stream
    With iStm
        .Type = adTypeBinary   '二進制模式
        .Open
        .LoadFromFile App.Path + "/test.jpg"
    End With
  

    '打開保存文件的表
    Set iRe = New ADODB.Recordset
    With iRe
        .Open "select * from img", iConc, 1, 3
        .AddNew         '新增一條記錄
        .Fields("photo") = iStm.Read
        .Update
    End With
  

   '完成後關閉對象
    iRe.Close
    iStm.Close
End Sub


Sub s_ReadFile()
    Dim iStm As ADODB.Stream
    Dim iRe As ADODB.Recordset
    '打開表
Set iRe = New ADODB.Recordset
‘得到最新添加的紀錄
    iRe.Open "select top 1 * from img order by id desc", iConc, adOpenKeyset, adLockReadOnly
    '保存到文件
    Set iStm = New ADODB.Stream
    With iStm
        .Mode = adModeReadWrite
        .Type = adTypeBinary
        .Open
        .Write iRe("photo")
‘這裏注意了,如果當前目錄下存在test1.jpg,會報一個文件寫入失敗的錯誤.
        .SaveToFile App.Path & "/test1.jpg"
    End With
  

    Image1.Picture = LoadPicture(App.Path & "/test1.jpg")
   '關閉對象
    iRe.Close
    iStm.Close
End Sub
 

Private Sub Command1_Click()
Call s_ReadFile
End Sub


Private Sub Command2_Click()
Call s_SaveFile
End Sub

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章