我正在做一个人事资料,需要上传照片到数据库.上传时,出现下列错误讯息:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
多重步骤 OLE DB 操作发生错误。请检查每一个可用的 OLE DB 状态值。尚未完成任何操作。
/cool/process.asp, line 27
[line27 是这一句: Rec("emp_id")=Request.QueryString("emp_id")]
如果我换成Rec("emp_id")=Rec__MMColParam
可以上传.但是这笔记录也有问题,编号是”1”,并不是我输入在upload页的emp_id字段的值.(这个值要怎幺带过来?)并且,我在显示照片时,好象这里根本就没有照片,出现带一个叉的图框的错误图标.
其中,数据库结构:
emp_id char(10) 编号字段(主索引键)
image image(16) 照片字段
我是依照这篇文章做的:
class.gzrail.net/read.php?classid=175下面是upload.asp 的代码:
Untitled Document下面是process.asp页的代码:
<%@LANGUAGE="VBSCRIPT"%>
<%
Dim Rec__MMColParam
Rec__MMColParam = "1"
if (Request.QueryString("emp_id") <> "") then Rec__MMColParam = Request.QueryString("emp_id")
%>
<%
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 Rec = Server.CreateObject("ADODB.Recordset")
Rec.ActiveConnection = MM_person_STRING
Rec.Source = "SELECT * FROM dbo.PImage WHERE emp_id = '" + Replace(Rec__MMColParam, "'", "''") + "'"
Rec.CursorType = 0
Rec.CursorLocation = 2
Rec.LockType = 3
Rec.Open()
Rec.addnew
Rec("emp_id")=Request.QueryString("emp_id")
Rec("image").appendchunk mydata
Rec.update
Rec.close
set Rec=nothing
response.redirect "imgupok.asp"
%>