ASP如何实现读取并且显示ACCESS

ASP如何实现读取并且显示ACCESS数据库中的长二进制数(也就是通过ASP页面,提交表单而导入的图片)现在我遇到的问题是,我通过ASP页面1提交表单,而后在ASP页面2... ASP如何实现读取并且显示ACCESS数据库中的长二进制数(也就是通过ASP页面,提交表单而导入的图片)
现在我遇到的问题是,我通过ASP页面1提交表单,而后在ASP页面2显示出来的是导入的文件路径
展开
 我来答
百度网友2c7e98c
推荐于2016-03-05 · 超过69用户采纳过TA的回答
知道小有建树答主
回答量:264
采纳率:0%
帮助的人:211万
展开全部
给你一个输出数据库中图片的代码
代码中的admin表中的username就是上传的长二进制数图片,你根据你的代码修改一下表名和字段名,还有数据库路径,试一下吧.
代码中一定要有 Response.ContentType = "image/*" 这一行,如果没有这个,将显示不出图片,而只是路径

<%
set conn=server.createobject("adodb.connection")
conn.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &server.mappath("test.mdb")
set rec=server.createobject("ADODB.recordset")
strsql="select username from admin order by id desc"
rec.open strsql,conn,1,1
Response.ContentType = "image/*"
Response.BinaryWrite rec("username").getChunk(7500000)
rec.close
set rec=nothing
set conn=nothing
%>

另外提供一个上传图片到数据库长二进制字段中的代码
index.html

<html>

<body>

<center>

<form name="mainForm" enctype="multipart/form-data"

action="process.asp" method=post>

<input type=file name=mefile><br>

<input type=submit name=ok value="OK">

</form>

</center>

</body>

</html>

process.asp

<%
response.buffer=true
formsize=request.totalbytes
formdata=request.binaryread(formsize)
bncrlf=chrB(13) & chrB(10)
divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)
datastart=instrb(formdata,bncrlf & bncrlf)+4
dataend=instrb(datastart+1,formdata,divider)-datastart
mydata=midb(formdata,datastart,dataend)

set conn=server.createobject("adodb.connection")
conn.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &server.mappath("test.mdb")
set rec=server.createobject("ADODB.recordset")
rec.Open "SELECT * FROM admin where id is null",conn,1,3
rec.addnew
rec("username").appendchunk mydata
rec.update
rec.close
%>
<%
rec.open("select top 1 username from admin order by id desc"),conn,1,1
if not(rec.eof and rec.bof) then
%>
最新上传的图片是:<img src="showpic.asp">
<%
end if
rec.close
set rec=nothing
set conn=nothing
%>
eadio
推荐于2016-06-05 · TA获得超过1610个赞
知道小有建树答主
回答量:962
采纳率:80%
帮助的人:1020万
展开全部
首先链接数据库
dataaccess = server.mappath("data/xxxx.mdb")
'连接OLEDB
Set oConn = Server.CreateObject("ADODB.CONNECTION")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dataaccess

其次打开表并读取记录
sql = "select top 100 * from [tablebb] where 1=1"
Set oRs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, oconn, 1, 1
if not rs.eof then

while not rs.eof
response.write("<p>"& rs("字段") &"</p>") ‘读取字段名称,打印记录出来

rs.movenext '下一条记录

wend

end if
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-02-22
展开全部
不是很明白你的意思,如果是读取图片数据然后想显示图片的话可以在代码里这样写,<img src="<%=rs("file")%>" >
追问
就是说我现在通过页面通过表单 文件域将图片上传进了 ACCESS数据库,并且在数据库中也显示其为 长二进制数。

但是我页面上查询数据时候 那一项中仅仅就显示了 文件路径。我想它直接显示图片。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朕欲摆驾香港
2011-02-25 · TA获得超过1773个赞
知道小有建树答主
回答量:1445
采纳率:0%
帮助的人:985万
展开全部
这个肯定是程序问题。
需要先把这个图片转换成二进制。
如果通过表单提交,获得的是文件路径。
你应该把文件当做未知文件处理,上传到服务器端,然后转换成二进制,然后服务器端恢复成图片。
建议不要把图片放数据库中,这样的话,服务端的压力比较大。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一个著名神经病
2018-04-16 · TA获得超过1.1万个赞
知道小有建树答主
回答量:53
采纳率:100%
帮助的人:8101
展开全部

首先链接数据库

dataaccess = server.mappath("data/xxxx.mdb")

'连接OLEDB

Set oConn = Server.CreateObject("ADODB.CONNECTION")

oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dataaccess

其次打开表并读取记录

sql = "select top 100 * from [tablebb] where 1=1"    

Set oRs = Server.CreateObject("ADODB.Recordset")

rs.Open sql, oconn, 1, 1

if not rs.eof then

while not rs.eof

response.write("<p>"& rs("字段") &"</p>") ‘读取字段名称,打印记录出来

rs.movenext    '下一条记录

wend

end if

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式