请教asp+access(sql)图片上传练习案例
参考例子(做过的,请指出出错的原因?):
事先已在access建立好images.mdb空数据库,数据表:images(字段:id(自动编号)、img(OLE对象))
需要代码如下:
--upload.asp
<table align=center bgcolor=#fffff width=650 height=300>
<tr><td align=center>
<form name="mainForm" enctype="multipart/form-data" action="../process.asp" method=post>
<input type=file name=mefile> <input type=submit name=ok value="上传">
</form> <p>
<a href="../showimg.asp">图片浏览</a><!--点击图像浏览,提示showimg.asp第十行出错:对象关闭时,不允许操作-->
</td>
</tr>
</table>
=========================================================
--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)
dim connGraph,mdbfile
mdbfile=server.mappath("images.mdb")
set connGraph=server.CreateObject("ADODB.connection")
connGraph.Open "driver={Microsoft Access Driver (*.mdb)};DBQ="&mdbfile
set rec=server.createobject("ADODB.recordset")
rec.Open "SELECT * FROM [images] where id is null",connGraph,1,3
rec.addnew
rec("img").appendchunk mydata
rec.update
%>
<p align=center><a href="../show.asp">图片浏览</a> <a href="../upload.asp">返回</a><p>
======================================
--show.asp
<%
mdbfile=server.MapPath("images.mdb")
set connGraph=server.CreateObject("ADODB.connection")
connGraph.open "driver={Microsoft Access Driver (*.mdb)};DBQ=" & mdbfile
set rec=server.createobject("ADODB.recordset")
strsql="select id from images "
rec.open strsql,connGraph,1,1
do while not rec.eof
%>
<IMG SRC="../showimg.asp?id=<%= rec("id") %>">
<%
rec.movenext
loop
rec.close
set rec=nothing
set connGraph=nothing
%>
<p align=center><a href="../upload.asp">返回</a></p>
======================================================
--showimg.asp<!--问题出在这里边-->
<%
Response.Expires = 0
mdbfile=server.MapPath("images.mdb")
set connGraph=server.CreateObject("ADODB.connection")
connGraph.open "driver={Microsoft Access Driver (*.mdb)};DBQ=" & mdbfile
set rec=server.createobject("ADODB.recordset")
%>
<% do while not rec.eof <!--这句提示错误:错误类型:ADODB.Recordset (0x800A0E78)
对象关闭时,不允许操作。-->
strsql="select img from images where id=" & trim(request("id"))
rec.open strsql,connGraph,1,1
Response.ContentType = "image/*"
Response.BinaryWrite rec ("img").getChunk(7500000)
rs.movenext
loop
rec.close
set rec=nothing
set connGraph=nothing
%>
===================
有练习过的朋友,请给帮忙测试找找问题所在?让我通过的,马上给分。谢啦!