大家好! 我做了一个数据库应用程序。数据库是用VB自带的ACCESS建立的,其中一个表的某一字段是用来存储图片的,我把该字段的类型设置为Binary(应该是保存图片类型的吧!?),我用的Data1去连接数据库的,我在窗体上放了一个Picture1控件和该字段绑定。一切正常!!!!!!!!!!!!
我的问题是:我在为该字段赋新值时,是否可以打开一个图片选择对话框,把选择的图片载入到Picture1 控件的picture 属性中????????????????? 查询时又怎么显示该字段???????????????再线等待。刚刚开始用VB ,望大家指导一番
我的问题是:我在为该字段赋新值时,是否可以打开一个图片选择对话框,把选择的图片载入到Picture1 控件的picture 属性中????????????????? 查询时又怎么显示该字段???????????????再线等待。刚刚开始用VB ,望大家指导一番
解决方案 »
- 程序中打开一个窗体 VBMODAL 后,另一个窗体也打开 并VBMODAL ,但是在UNLOAD 第二个窗体后为什么On Error GoTo 会报错,但是ERR.Description就是以个空格
- MDI用工具栏打开几个子窗体,两个小问题
- 关于建表。。为什么会有错误?
- 如何在程序中为我的ACCESS数据库加上“用户和组权限”
- [紧急求助]运行时错误'53':文件未找到,如何确定是哪个文件?没有源代码
- 怎样在局域网上传播屏幕?
- 请问哪里有VBA的资料下载?谢谢!
- 用msflexgrid自制了一个表格控件当定义datasouces时遇到了麻烦
- 请教:怎样将一个编好的程序生成一个可安装程序
- 大侠,中午好,请教:seek方法为何出错
- 數據集一問,在線等
- office帮助中的自动操作功能怎么实现的?
CommonDialog1.Filter = "Pictures (*.bmp;*.jpg;*.ico)|*.bmp;*.ico"
CommonDialog1.ShowOpen
Set Picture1 = LoadPicture(CommonDialog1.FileName)
End Sub
打开vb6,新建工程。添加两个按钮,一个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
Private Sub Form_Load()
'数据库连接字符串
iConcstr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False" & _
";Data Source=F:\csdn_vb\database\保存图片\access图片\img.mdb"‘下面的语句是连接sqlserver数据库的.
‘iConcstr = "Provider=SQLOLEDB.1;Persist Security Info=True;" & _
‘ "User ID=sa;Password=;Initial Catalog=test;Data Source=yang"
Set iConc = New ADODB.Connection
iConc.Open iConcstr
End Sub
Private Sub Form_Unload(Cancel As Integer)
iConc.Close
Set iConc = Nothing
End Sub
CommonDialog1.Filter = "Pictures (*.bmp;*.jpg;*.ico)|*.bmp;*.ico"
CommonDialog1.ShowOpen
Set Picture1.Picture = LoadPicture(CommonDialog1.FileName)
Call Picture1_Resize
End SubPrivate Sub Picture1_Resize()
Picture1.PaintPicture Picture1.Picture, 0, 0, Picture1.ScaleHeight, Picture1.ScaleHeight
End Sub