数据库类型是Image类型,给你贴VB代码吧。 '保存图片到数据库中(利用数据流) Public Sub SaveImageToDB(ByRef fld As ADODB.Field, file As String) Dim c As New ADODB.Stream
On Error GoTo ErrSave '如果文件不存在,则不用保存 If FileExists(file) = False Then Exit Sub '利用数据流保存到数据库中 c.Mode = adModeReadWrite c.Type = adTypeBinary c.Open c.LoadFromFile file fld.Value = c.Read() c.Close Exit Sub ErrSave: If Err.Number <> 0 Then MsgBox Err.Number & ";" & Err.Description, vbInformation + vbOKOnly, "存储图片" End If End SubPublic Sub LoadImageFromDB(ByVal fld As ADODB.Field, objPic As Object) Dim c As New ADODB.Stream Dim strFile As String
On Error GoTo errLoad '如果图片内容为空 If IsNull(fld.Value) Then objPic.Picture = LoadPicture("") Exit Sub End If '开始从数据库中读取图片 c.Mode = adModeReadWrite c.Type = adTypeBinary c.Open c.Write (fld.Value) '生成临时文件路径 strFile = g_WinDir & "\Temp" Call fCreateDir(strFile) strFile = strFile & "\~" & GetString(False) & ".tmp" If FileExists(strFile) Then Kill (strFile) c.SaveToFile strFile, adSaveCreateOverWrite objPic.Picture = LoadPicture(strFile) '删除临时文件 Kill strFile Exit Sub errLoad: If Err.Number = 481 Then Set objPic.Picture = LoadPicture("") Else If Err.Number <> 0 Then MsgBox Err.Number & ";" & Err.Description, vbInformation + vbOKOnly, "加载图片" End If End If End Sub
'保存图片到数据库中(利用数据流)
Public Sub SaveImageToDB(ByRef fld As ADODB.Field, file As String)
Dim c As New ADODB.Stream
On Error GoTo ErrSave
'如果文件不存在,则不用保存
If FileExists(file) = False Then Exit Sub
'利用数据流保存到数据库中
c.Mode = adModeReadWrite
c.Type = adTypeBinary
c.Open
c.LoadFromFile file
fld.Value = c.Read()
c.Close
Exit Sub
ErrSave:
If Err.Number <> 0 Then
MsgBox Err.Number & ";" & Err.Description, vbInformation + vbOKOnly, "存储图片"
End If
End SubPublic Sub LoadImageFromDB(ByVal fld As ADODB.Field, objPic As Object)
Dim c As New ADODB.Stream
Dim strFile As String
On Error GoTo errLoad
'如果图片内容为空
If IsNull(fld.Value) Then
objPic.Picture = LoadPicture("")
Exit Sub
End If
'开始从数据库中读取图片
c.Mode = adModeReadWrite
c.Type = adTypeBinary
c.Open
c.Write (fld.Value)
'生成临时文件路径
strFile = g_WinDir & "\Temp"
Call fCreateDir(strFile)
strFile = strFile & "\~" & GetString(False) & ".tmp"
If FileExists(strFile) Then Kill (strFile)
c.SaveToFile strFile, adSaveCreateOverWrite
objPic.Picture = LoadPicture(strFile)
'删除临时文件
Kill strFile
Exit Sub
errLoad:
If Err.Number = 481 Then
Set objPic.Picture = LoadPicture("")
Else
If Err.Number <> 0 Then
MsgBox Err.Number & ";" & Err.Description, vbInformation + vbOKOnly, "加载图片"
End If
End If
End Sub