access数据库图片,Access数据库
大家好,今天给各位分享access数据库图片的一些知识,其中也会对Access数据库进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
asp如何解决从access数据库中读取图片
现在假设在数据库中保存的是你所想要的图形格式
(GIF, JPEG, BMP, TIFF,等)现在来看看要怎么把它们从
数据库中读出来。
在ACCESS中使用了两个关键的技术来保存图形
1。使用了bmp格式
2。78个字节的文件头
<%
response.Expires= 0
response.Buffer= True
response.Clear
response.contentType="image/bmp"
%>
接着你要干的就是去掉那78个字节的OLE对象的文件头。
<%
Const OLEHEADERSIZE= 78
nFieldSize= rs("photo").ActualSize
oleHeader= rs("photo").GetChunk(OLEHEADERSIZE)
imageBytes= rs("photo").GetChunk(nFieldSize- OLEHEADERSIZE)
Response.BinaryWrite imageBytes
%>
现在举一个例子:
如果你要得到一个职工的信息,这段信息包括一个介绍和他的图象。
并且要同时显示文字和图形。
代码如下:(其中的theImg是一个代理页面)
theImg.asp
<%
response.Expires= 0
response.Buffer= True
response.Clear
response.contentType= Session("ImageType")
response.BinaryWrite Session("ImageBytes")
Session("ImageType")=""
Session("ImageBytes")=""
response.End
%>
Function SetImageForDisplay(field, contentType)
OLEHEADERSIZE= 78
contentType= LCase(contentType)
select case contentType
case"gif","jpeg","bmp"
contentType="image/"& contentType
bytes= field.value
case"ole"
contentType="image/bmp"
nFieldSize= field.ActualSize
oleHeader= field.GetChunk(OLEHEADERSIZE)
bytes= field.GetChunk(nFieldSize- OLEHEADERSIZE)
end select
Session("imageBytes")= bytes
Session("imageType")= contentType
End Function
'注意的是,程序中只使用了4中格式:gif, jpeg, bmp, ole.
<%
sql="select* from Employees"
Set oRS= Server.CreateObject("ADODB.Recordset")
oRS.CursorLocation= 3
oRS.Open sql,"DSN=NW"
SetImageForDisplay oRS("photo"),"ole"
Set oRS.ActiveConnection= Nothing
%>
要显示图象的话,只需要在另外一个asp中,假设为getEmpInfo.asp中
<img src="theImg.asp"</img>
但这还有一个问题,因为对每个职工的图形都使用了同一个"theImg.asp"
文件,应该再小小修改一下:
<img src="theImg.asp?temp=<%= Request.Form("empLastName")%>"</img>
最后再说一点,如何显示多幅图象呢?
也就是说如果数据库中有多个字段都保存了图形,怎么办?
其实解决办法很简单,只要给SetImageForDisplay多加一个参数
就是用来保存图形的一个session变量。
例如:
SetImageForDisplay oRS1("photo"),"ole","empPhoto"
SetImageForDisplay oRS2("logo"),"gif","compLogo"
<img src="theImg2.asp?varName=empPhoto&temp=<%= Request.Form("empLastName")%>">
<img src="theImg2.asp?varName=compLogo&temp=<%= Request.Form("imgCode")%>">
使用这个方法能够完成下面的功能:
1。能够从数据库中取出图形字段。(你唯一需要知道的是数据库中的图形是什么格式
bmp?gif?jpeg?ole?)
2.采用session变量来保存图形的字节数和content type
asp需要这些信息来联结到<IMG>中的属性
3。只要把theImg放到你想显示图形的地方,就能够显示图象了
access数据库怎样在单元格添加插入图片
在Access数据库单元格中插入图片,需通过设置字段类型为OLE对象实现,具体操作如下:
创建数据库与表右键桌面新建Microsoft Access数据库,打开后切换至“创建”选项卡,点击“表”新建数据表(可重命名,如“表1”)。
添加字段并设置类型点击表头添加字段,首列为默认ID(不可修改),其他字段按需设置类型(如“姓名”设为文本型)。
设置字段为OLE对象类型选中需插入图片的字段,切换至“字段”选项卡,在数据类型中选择OLE对象。此步骤为关键操作,未设置时右键菜单无插入选项。
插入图片右键OLE对象类型字段的单元格,选择插入对象,在弹出窗口中勾选由文件创建,点击“浏览”选择图片文件。
验证插入结果插入成功后,单元格显示为“程序包(package)”字样,双击可查看图片。
注意事项:
必须将字段类型设置为OLE对象,否则无法通过右键菜单插入图片。插入的图片以二进制形式存储在数据库中,可能增加文件体积。若需批量插入或管理图片,建议结合VBA代码或外部工具优化流程。
Access如何设置窗体的图片类型
在Access中设置窗体图片类型时,通常涉及图片的嵌入或链接方式,以下是具体操作步骤及注意事项:
方法/步骤打开窗体设计视图
在Access数据库中,右键点击目标窗体,选择「设计视图」进入编辑模式。
插入图片控件
在「设计」选项卡中,点击「图像」控件,然后在窗体上拖动绘制图片占位区域。
此时会弹出「插入图片」对话框,选择图片文件后点击「确定」。
设置图片类型
右键点击已插入的图片控件,选择「属性」打开属性表。
在属性表中,找到「图片类型」属性(可能位于「数据」或「格式」选项卡下)。
默认选项为「嵌入」:图片数据直接存储在数据库中,适合需要随数据库移动的图片。
更改为「链接」:仅存储图片路径,需确保源文件位置不变。
共享类型:适用于多对象引用同一图片的场景(具体操作可能因Access版本略有差异)。
保存设置
关闭属性表后,保存窗体设计(Ctrl+S)。
注意事项链接图片的限制:若选择「链接」,需确保图片源文件路径不变,否则窗体将无法正常显示图片。数据库体积:嵌入图片会增加数据库文件大小,而链接方式则不会。版本差异:不同Access版本的属性表位置或选项名称可能略有不同,建议参考当前版本的帮助文档。常见问题若找不到「图片类型」属性,可能是控件类型未正确选择(需使用「图像」控件而非「未绑定对象框」)。共享图片类型通常用于企业环境,需确保网络路径或共享文件夹可访问。通过以上步骤,您可以根据需求灵活选择图片存储方式,平衡数据库便携性与维护成本。
文章分享结束,access数据库图片和Access数据库的答案你都知道了吗?欢迎再次光临本站哦!