使用Stream写入图像
哈喽,哈喽,大家好
之前,我给大家分享过,导出二进制文件,用的方法就是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、测试
最后,我们就是来测试了。
我们选择图片,然后点击保存,将图片保存,这样就完成了导入操作。
同时,我们可以看到,图片也相应的保存了。
从事access开发多年,喜欢access做一些小东西,分享一些小经验
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义