哈喽,哈喽,大家好
之前,我给大家分享过,导出二进制文件,用的方法就是ADODB.Stream,那今天我们来给大家做一个导入附件的示例。
先来给大家简单的介绍一下Stream,Stream对象用于表示二进制数据流或文本流。使用Stream对象可以为数据库应用程序很方便地添加图像数据。
01、创建表
第一步我们还是很常规的,先来创建一张表,放上两个字段,一个imgName用户存放文件的名称,另一个是bmp是用来保存附件。
02、创建窗体
接下去,我们就需要来添加一个窗体了,这里我们需要添加4个控件,我们放上一个文本框,名称为txtPath,一个按钮,名称为btnSelect,一个图片控件,名称为Img,最后再放一个按钮,名称为btnSave,具体的如下图
03、添加代码
接下去,我们来添加代码。先添加浏览附件的代码,为了演示效果这里我们只允许添加图片。
Private Sub btnSelect_Click()
With FileDialog(3)
.Filters.Clear
.Filters.Add "Image", "*.jpg;*.bmp;*.gif;*.png;*.emf;*.wmf;*.ico;*.dib;*.CGM;*.EPS"
If .Show Then
Me.txtPath = .SelectedItems(1)
Else
Exit Sub
End If
End With
Me.Img.Picture = Me.txtPath
End Sub
下面我们就是来添加保存按钮的图片了。
Private Sub btnSave_Click()
Dim mstream As ADODB.Stream
Dim strImage As String
Set rs = New ADODB.Recordset
rs.Open "Select * from bmp表", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.LoadFromFile Me.txtPath
rs.AddNew
rs.Fields("imgname").Value = Mid$(Me.Text64, InStrRev(Me.Text64, "\") + 1)
rs.Fields("bmp").Value = mstream.Read
rs.Update
rs.Close
MsgBox "图片保存成功", vbInformation
Me.txtPath = ""
Me.Img.Picture = ""
End Sub
04、测试
最后,我们就是来测试了。
我们选择图片,然后点击保存,将图片保存,这样就完成了导入操作。
同时,我们可以看到,图片也相应的保存了。