VB image 显示ACCESS中的图片。在线等。。
刚刚把图片写入ACCESS中 搞定、
现在在线等 IMAGE 显示ACCESS中的 二进制的图片。。急急急
On Error GoTo sir_suspect
Dim search As String
search = InputBox("请输入图片ID")
Set rs = New ADODB.Recordset
rs.Open "Select * from 表1 where 名称 '" & search & "'", cn, 1, 2
Set Image1.DataSource = rs
Image1.DataField = "图片"
Exit Sub
sir_suspect:
MsgBox "没有找到相关记录.", vbExclamation
什么地方错了 点击按钮就提示 “没有找到相关记录”
access 创建- 图片保存 -表1 - 名称 和图片两列。。
[解决办法]
给个建议你,不要把文件放在数据库里,这样会很大程度的降低数据引擎的查询效率,可能数据量小或文件小没什么感觉,但是这样的数据稍微大点,即使 SQL Server 也会效率很低的。如果文件再大点,就更加容易出问题。还有一点,这种读写操作如果频繁,数据量也大,而且还有网络操作,那么数据库崩溃的可能性也大。其原因是数据库当初设计时是为了不多的文字内容检索,但有了更多需求后就设立的二进制数据区来存储一些不大的常用数据,没有那个开发商会考虑把文件系统的运作模式放入数据库来这么检索。比如你的一条数据存个3GB的文件数据进去,你看看数据库会不会爆掉,但文件系统就可以这么做,而且速度完全不一样。当然,如果你只是想搞清楚这种 技术的实现方法,其实很简单,VB6 的 MSDN 中就有范例,如果你实际想这么用,建议你还是改一下技术,这样对你的数据库好一点,起码数据库的数据量会少一点,查询效率也会高一点,如果是 access 数据库,也不容易到他的文件大小边界(通常 access 数据库最大容量不会超出 1 GB),也不这么容易造成崩溃的条件。
[解决办法]
rs.Open "Select * from 表1 where 名称 ='" & search & "'", cn, 1, 2
如果数据库中,图片id不是字符串类型则应去掉search前后的单引号