怎么样在VB中将ACCESS数据库中的OLE图片用PICTURE控件或者IMAGE控件显示出来???

作者&投稿:姜弯 (若有异议请与网页底部的电邮联系)
VB中怎么用image图片框显示access中的图片~

有两种情况:
1)access中的是图片的路径,这时直接用image控件的loadpicture方法
2)access中的图片是二进制数据。
要是第二种情况,我们使用一下方法。
1.首先从数据库中读取二进制数据并且保存到一个数组里。
2.把二进制数据写到磁盘上,因此生成一个图片。
3.利用这个图片的地址来现实图片。
详细代码是一下(请应用microsoft activeX dataobjects 2.7 对象)

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 & "est1.jpg"
End With


Image1.Picture = LoadPicture(App.Path & "est1.jpg")
'关闭对象
iRe.Close
iStm.Close

这是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() As Byte
photofile = reader.GetValue(0)
Dim streamph As New MemoryStream(photofile)
PictureBox1.Image = Image.FromStream(streamph)
这段代码是我从我做的小软件中截出来的,我在2005中就用着,2005是通过的,不知道加到2010中能否执行。
-------------------------------
根据你的发的图,我看了,好像你从库中取出的不是一条记录呀,我的代码只能取一条记录的情况,你的明显取出多条记录,代码只认最后一条,你的文件长度为0,当然不行了
select 照片 from 表 where name='李三',这条语句只能取出单条记录,且ole字段中确定有文件存在的,而且是图片格式才能显示
-------------------------------------------------------
Dim streamph As New MemoryStream(photofile)
你的是 Dim streamph = New MemoryStream(photofile)

这句你的和我的不一样,是不是这里的问题,2010没用过,要是还不行,我也不知道了

建个ASP文件

......
打开数据库
set rec=server.createobject("ADODB.recordset")
................
.............
myimagedata=rec("pic").getChunk(7500000)

Response.ContentType = "image/*"
Response.BinaryWrite myimagedata

.......................

rec.close

set rec=nothing

set connGraph=nothing
.....................
===================
PICTURE 的路径设为这个ASP文件!


VB高手帮忙啊~
假设你有3个Text控件,Text1、Text2和Text3。还有一个label文本,label1。一个按钮Command1。给你command1按钮的单击判断 a=text1.text b=text2.text c=text3.text ab=a+b ac=a+c bc=b+c if ab<c or ac<b or bc

谁能帮我编一段用VB对CAD进行二次开发的程序代码啊
2019-01-28 如何利用VB二次开发CAD,编写一个程序可以在CAD中自动布... 2011-09-28 用VB进行CAD二次开发,制作表格代码(普通表格,不是报表)... 1 2014-10-29 谁能提供一段vb在CAD中绘制多段线的实例代码作参考! 1 2016-10-12 用vb.net编写cad二次开发的程序,用鼠标框选CAD图的... 2011-08-09 ...

vb 日期格式输出
Format$("C","@@a@") 返回值 空白空白aC& 字符占位符。除在当占位位置不存在时,不显示外,其余均与@相同当占位符比原文本字符串多时,刚在相应位置上添加空格Format$("C","&&a&") 返回值 aC< 强制小写。将所有字符以小写格式显示。Format$("I love you","<") 返回值 i love you> 强制大写。将...

跪求PLC中移位寄存器指令咋用啊
MOV_B指令:MOV_B字节传送指令:将源字节IN的内容传送到OUT中,传送后,源字节内容不变。操作数:IN: VB,IB,QB,MB,SMB,AC,*AC,*VD,SB,常数 OUT:VB,IB,QB,MB,SMB,AC,*AC,*VD,SB 移位寄存器操作指令包括 SET 和 RST 。其中:指令SET 的作用是使数据在移位寄存器中从左...

用VB如何将excel中的数据转到acsess中
这没有问题。不过我只会读写excel access我没有读写过。没有装过。。哈哈!!!读写excel要在部件引用里面把excel添加上,再定义变量就可以读写了和vba里面一个样。读出来了你就知道往哪儿写了我也不知道你的数据结构。你要excel的读写发信息给我QQ82392939 emal:bornnow@163.com ...

在vabc中
过B作角ABC的角平分线交AC于D,因为AB=BC,所以得BD垂直于且平分AC;作VD’,同理推得VD’垂直于且平分AC,故点D’=D(两点重合);故推得AC垂直于面VBD => VB垂直于AC.证毕

VB程序设计习题,第三题为什么不选AC
合法的变量名。首先你理解 名这个字。每一个编程都有它自己的规则,如果跃出这个规则,那么就不合法!A。x-y ‘这在任何语言都是不合法的变量名。x-y 是运算,不是合法的变量名 c。sin(x) 'sin 是VB中的内置函数,所以这样命名是错误的。 vb 不能将内置函数当做变量名。B。Dim 是定义...

在VB编程中,输入ABC。(A=789;B=456;C=756,)通过点计算显示得出78945675...
private const A=789 private const B=456 private const C=756 private sub command1_click()n=inputbox("请输入:")for i=1 to len(n)m=mid(n,i,1)select case m case "A"s=s & A case "B"s= s & B case "C"s=s & C end select next i msgbox n & "的值为:" &...

vb截取字符相关 dim h as string h=" 1 a ac bd" l=spl
h=" 1 a ac bd"while instr(h," ") h=replace(h," "," ")wendi=split(trim(h)," ")(2)

在vb中怎样实现汉字转换为拼音
union all select 0xC0AC, 0xC2E7,'L'union all select 0xC2E8, 0xC4C2,'M'union all select 0xC4C3, 0xC5B5,'N'union all select 0xC5B6, 0xC5BD,'O'union all select 0xC5BE, 0xC6D9,'P'union all select 0xC6DA, 0xC8BA,'Q'union all select 0xC8BB, 0xC8F5,'R'union ...

礼县19165682167: 如何用vb建立一个access数据库? -
金宰华素: vb只是一个编程语言,并不能建立数据库,建立access数据库要完全在access中进行.前提条件:必须安装微软access数据库.步骤:1、找好要存放数据库的路径,如c盘data路径;2、路径下空白处点右键,新建-microsoft access数据库,如图:3、这时路径下就有了一个access文件,可以右键-重命名来为数据库起名,如,起名叫测试数据库;4、双击access文件,在里边创建所要的表,函数等等即可.

礼县19165682167: 怎么用VB调用access数据库 -
金宰华素: 首先,我们需要引用ADO.具体的方法是,在"工程" -- "引用" 中,找到"Microsoft ActiveX Data Object *.* Library",这里的"*.*"是指的时ADO的版本号,一般来说,应用程序或ActiveX控件都具有向下兼容性,所以我们尽可能选择比较新...

礼县19165682167: 在VB里面怎么插入ACCESS数据
金宰华素: 在工具栏里添加部件 ADO 的那个 然后画在界面那里 右键它 在连接字符串 生成 提供服务选择 4.0 OLE DB ... 连接 选择你的数据库 点确定 在记录源那里选择2的命令类型 选择表

礼县19165682167: vb中如何与access数据库连接 -
金宰华素: VB连ACCESS可以直接连,就是在ADO数据源的连接字串里直接连接到数据库文件. 也可以间接连接,在ODBC的数据源里建个新的数据源连到你要用的ACCESS数据库,然后VB连这个ODBC里的数据源. 现在大家用的反正都是这么回事啦,要是你真的很牛,你直接读写ACCESS文件自己翻数据用也行.WEB不也是用了控件?凡是用了ADOCONNECTION的都是用了ADO控件. 一般来说只要用数据源,那就基本都是用控件的.

礼县19165682167: 如何在VB中连接access数据库
金宰华素: 请用MICROSOFT jet 4.0 OLE DB Provider引擎连接ACCESS数据库,方法如下: 新建工程时选数据工程,此时VB6集成调试环境左边工具箱内已加载了有关数据库编程必须的控件. 然后在FORM1窗体中添加ADODC控件和DATAGRID控件,...

礼县19165682167: 如何把Access与VB连接起来 -
金宰华素: 在VB中,连接ACCESS数据库的方法主要有下面三种 a.Data Link文件b.使用ODBC数据源名称 c.使用连接字符串 使用数据环境设计器创建数据库连接,首先添加环境引用.然后找到数据源进行连接. Data 控件连接中,ODBC数据源的连接和...

礼县19165682167: VB如何使用ACCESS数据库 -
金宰华素: '当单击确定按钮时进行各方面的判断,验证成功后可进入主界面 Private Sub cmdSure_Click() Dim UserID As String Dim Passwd As String UserID = Trim(txtUserID.Text) Passwd = Trim(txtPasswd.Text) If Trim(UserID) = "" Then MsgBox "请输...

礼县19165682167: 如何用vb连接access数据库(代码编写) -
金宰华素: ①使用ADO对象,通过编写代码访问数据库(Connection 对象、ODBC数据源);②使用ADO Data 控件快速创建数据库连接( Data Link文件、使用ODBC数据源名称、使用连接字符串);③使用数据环境设计器创建数据库连接,首先添加环境引用,然后找到数据源进行连接.

礼县19165682167: 如何用VB语言去连接Access数据库啊?我的程序就是连不上啊?各位请指教! -
金宰华素: 最简单的方法: 1:用vb自带的DATA控件,不用设置代码就能连接MDB文件. 2:用代码 (DAO) : dim db as database '定义一个数据库连接 dim rs as recordset '定义一个记录集 set db = opendatabase(app.path & "\me.mdb") '连接MDB文件 set rs = db.OpenRecordset("select * from nameOFtable") '连接MDB库里的一个表.此处的SELECT语句可以和WHERE\ORDER BY 等关键字合用. 谢谢!

礼县19165682167: VB如何连接Access数据库 -
金宰华素: 如下代码参考一下,不知能有帮助否.Private Sub Command1_Click() Dim Mycon As ADODB.Connection '定义一个连接对象,用这个对象来和数据库建立通讯联系. Dim Myrt As ADODB.Recordset '定义一个记录集对象,将来从数据库取得一...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网