ASP如何实现读取并且显示ACCESS
ASP如何实现读取并且显示ACCESS数据库中的长二进制数(也就是通过ASP页面,提交表单而导入的图片)现在我遇到的问题是,我通过ASP页面1提交表单,而后在ASP页面2...
ASP如何实现读取并且显示ACCESS数据库中的长二进制数(也就是通过ASP页面,提交表单而导入的图片)
现在我遇到的问题是,我通过ASP页面1提交表单,而后在ASP页面2显示出来的是导入的文件路径 展开
现在我遇到的问题是,我通过ASP页面1提交表单,而后在ASP页面2显示出来的是导入的文件路径 展开
6个回答
展开全部
给你一个输出数据库中图片的代码
代码中的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
%>
代码中的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
%>
展开全部
首先链接数据库
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
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数据库,并且在数据库中也显示其为 长二进制数。
但是我页面上查询数据时候 那一项中仅仅就显示了 文件路径。我想它直接显示图片。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个肯定是程序问题。
需要先把这个图片转换成二进制。
如果通过表单提交,获得的是文件路径。
你应该把文件当做未知文件处理,上传并搏到服务器端,然后转换成二进制,然后服务器端恢复成图片。
建议不要把唤搜图片放数据库中,这样的话,服务端的压力比较和蔽历大。
需要先把这个图片转换成二进制。
如果通过表单提交,获得的是文件路径。
你应该把文件当做未知文件处理,上传并搏到服务器端,然后转换成二进制,然后服务器端恢复成图片。
建议不要把唤搜图片放数据库中,这样的话,服务端的压力比较和蔽历大。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先链粗慎接数据库
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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询