VB Access数据库OLE字段图片读取转存问题

数据库连接完了 对文字字段的读取操作也会 只是对图片的操作不会 目的是想从数据库读取图片 在转存到richtextbox内 下边是部分代码
Private Sub Command42_Click()
Dim a(20) As String
For i = 0 To UBound(a) - 1
x: Randomize
a(i) = Int((rscount - 1 + 1) * Rnd + 1) 'rscount 通用里有定义,在form_load事件取出的数据库记录数到该变量
For j = 1 To i - 1
If a(i) = a(j) Then GoTo x
Next j
Next i '以上为产生指定数量不重复随机数
For i = 0 To UBound(a) - 1
Call OpenConn
SQL = "select * from 第一大题 where 编号=" & a(i) & ""
rs.Open SQL, cn, 1, 1
Text1(i) = "" & rs.Fields("字段1")
Text2(i) = "" & rs.Fields("字段2")

------字段3 是OLE字段在此处如何编写程序------

Call CloseConn
Next
End Sub
小弟初学VB希望各位大虾帮忙 也可以QQ帮忙 154633981 谢谢先啦

我有个建议啊,楼主可以考虑一下,做个文件夹,放VB程序相对路径里面,存储相同格式的图片文件,作为一个图象引擎,后面你要做的事就简单多了,发布你的程序的时候就把VB程序和文件夹一起打包发布:
直接在窗体上拖放一个Image控件。控件要调用图象就这么写:
Image1.pictrue=loadpictrue(App.path+"\文件夹名\"+'"+窗体文本框+"'+".jpg")
窗体文本框直接给他数据源指向ADO,当你加载的时候就出现文字,在图片文件夹里就存储这样的文字作为索引,按钮按下,加载文字,加载以文字为名称的图片,一步到位,上面一条语句搞定就行了,哪有那么麻烦. 代码复杂还没得到好的效果,ACCESS哪有那么大的容量 卡死你,你要是做个游戏也这么加载,没办法动了追问

恩 谢谢 这样虽然这部分能实现 但是后续问题就费劲了 不过还是谢谢您了

追答

怎么会费劲呢,你用数据库查出来字段的值,显示在窗体上,用窗体的值作为条件去匹配图片的名称,把图片统一处理成一种格式,Image属性让图片取消自适应大小,这是图片加载最基本的方法,用OLE来处理图片实在太慢,而且很容易出错,ACCESS容量也是有限的

追问

我QQ 707142197 想具体找您问下。。。

追答

好,我只有晚上有时间上QQ,其他时间在车间很忙

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-22
ole字段相当于bin字段吧?
我记得在sql2000里有bin字段,可以直接存储和读取二进制文件
读取,然后写入文件追问

SQL不太清楚 要求是用Acccess做的

第2个回答  2012-05-04
mm

VB Access数据库OLE字段图片读取转存问题
直接在窗体上拖放一个Image控件。控件要调用图象就这么写:Image1.pictrue=loadpictrue(App.path+"\\文件夹名\\"+'"+窗体文本框+"'+".jpg")窗体文本框直接给他数据源指向ADO,当你加载的时候就出现文字,在图片文件夹里就存储这样的文字作为索引,按钮按下,加载文字,加载以文字为名称的图片,一步到位,...

关于VB 6 怎样读取Access数据库中的图片(ole类型数据)和调用chn帮助文件...
给你个示例,下面是读取数据库中的二进制数据,并存放到指定的地方的,读取图片的,应该差不多 strSQL = "select * From CodeFile where CodeID=" & ID Rs.Open strSQL, Conn, 1, 3 While Not Rs.EOF FileName = Rs("FileName").Value Str = Rs("FileContent").GetChunk(Rs("FileContent"...

vb.net2010从ACCESS的OLE字段读出图片显示到PictureBox控件上
这是vb2005的代码,你试一下,这是我以前做的一段代码,从库中读取到显示。olecon = New OleDbConnection(constr)olecon.Open()Dim comm As New OleDbCommand("select 照片 from 表 where name='李三', olecon)Dim reader As OleDbDataReader = comm.ExecuteReader reader.Read()Dim photofile() ...

vb2010 picturebox控件加载access数据库中的ole图片问题
Public Class Form1 Public cn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\\Data.mdb") Public img As Byte() '图片处理用的字节数组 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System....

VB+Access做数据库如何保存图片
1、打开access数据库,新建一张数据表(存储图片的字段类型选择:OLE 对象);2、新建好,保存!然后再打开;右击图像控件,选择插入对象;3、选中:由文件创建(F);然后点击浏览按钮,选择要保存的图片;最后,点击确定按钮;4、同时按下Ctrl+S,对插入数据进行保存。保存成功后,图片控件会显示Package;...

vb里怎么调用access里的OLE对象(如图片)
以下以ADODC1为例)在窗体上添加一个Image控件,把它的DataSource设置为ADODC1,选择它的DataField属性为表中带有图片的字段,如:Photo1,设置它的Stretch为True 一切大功告成,运行,在DataGrid中点选已经存有图片的记录的时候,会在Image的部位显示字段Photo1中存储的图片了 ...

在VB.net中如何将图片转换成二进制保存到Accees中
在access数据库里将字段的类型设置为ole对象 Public img As Byte() '图片处理用的字节数组 img=My.Computer.FileSystem.ReadAllBytes(filePath)'filePath是你图片文件的路径 剩下的就是数据库插入操作了 Dim cn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Data.mdb"...

图片原来使用二进制流存在access数据库中,如何一次性转存到磁盘上?
http:\/\/access911.net\/down\/eg\/OLEfieldAndPictureData.rar 方法二:设一个OLE字段,然后插入对象就行了(对着字段单击右键)。但是要注意的是,用上述方法加入数据库的图片只能以手动方式保存,需要用程序读取的时候会碰到存储在ole字段中二进制数据与源文件不符的情况。主要是因为ole引擎在图片的前面加...

VB+Access 的OLE对象查询读取!
我的是VB+ACCESS,OLE对象处理代码 1,首先要建立一个二进制的文件,命名为"pictemp",没有后缀名 2,代码:Rs4!Photo 字段为OLE Dim Chunk() As Byte On Error Resume Next '错误处理语句 发现错误跳到语句的下一行执行代码 Open "pictemp" For Binary Access Write As lngDataFile ' Binary 的...

VB中显示数据库的OLE 对象(图片)
先读出来(用ado的stream对象或者用比较古老的getchunk方法),对于图片文件一般先保存为临时文件(对于文本则不用,不过可能需要转换为unicode字串),然后在控件上显示即可

相似回答