ASP 无组件上传 for each formName in upfile.file 循环不执行

MICKYONLY 2013-06-27 09:18:13
dim upfile,formPath,ServerPath,FSPath,formName,FileName,oFile,upfilecount,rcount,ipdzk,hz_wjm,mc_fl,mc_fl_1,mc0,mc1,mc2,p_id_max
hz_wjm=request.cookies("name")
rcount=0
upfilecount=0
set upfile=new clsUp ''建立上传对象
upfile.NoAllowExt="asp;exe;htm;html;aspx;cs;vb;js;" '设置上传类型的黑名单
upfile.GetData (10240000) '取得上传数据,限制最大上传10M

if upfile.isErr then '如果出错
select case upfile.isErr
case 1
Response.Write "没有上传数据"
case 2
Response.Write "上传的文件超出限制,最大10M"
end select
else

FSPath=GetFilePath(Server.mappath("updata_new.asp"),"\")'取得当前文件在服务器路径
FSPath=FSPath&"upload\" '上传到upload文件夹
ServerPath=GetFilePath(Request.ServerVariables("HTTP_REFERER"),"/")'取得在网站上的位置
response.write("test1")
for each formName in upfile.file '列出所有上传了的文件
response.write("test2")
set oFile=upfile.file(formname)
FileName=upfile.form(formName)'取得文本域的值
if not FileName>"" then FileName=oFile.filename'如果没有输入新的文件名,就用原来的文件名
upfile.SaveToFile formname,FSPath&FileName '保存文件 也可以使用AutoSave来保存,参数一样,但是会自动建立新的文件名

if upfile.iserr then
Response.Write upfile.errmessage
else
upfilecount=upfilecount+1
Response.Write "上传成功"
end if


'连接待读入excel数据表
set conn2=CreateObject("ADODB.Connection")
conn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Extended properties='Excel 5.0;hdr=yes;imex=1';Data Source="& Server.MapPath("upload/"&FileName)
'查询待读入excel数据表
sql = "SELECT * FROM [材料表数据$]"
set rs = conn2.execute(sql)
'初始化事务
conn.BeginTrans
'将数据循环读入目的数据库
do while not rs.eof
mc0 = trim(fixsql(rs(0)))
mc1 = trim(fixsql(rs(3)))'名称
mc2 = trim(fixsql(rs(4)))'位号
if mc0<>"" then
mc_fl = trim(fixsql(rs(1)))
mc_fl_1 = trim(fixsql(rs(2)))
if mc2<>"" then
p_name = mc2+" "+mc1
else
p_name = mc1
end if
if trim(fixsql(rs(20)))<>"" then
sql1 = "insert into product(p_name,p_weihao,p_fl,p_fl_1,p_sort,p_chandi,p_guige,p_guige_plan,p_danwei,p_yaochang,sum_sjbhl,sum_count) values ('"& p_name &"','"& mc2 &"','"& mc_fl &"','"& mc_fl_1 &"','"& hz_wjm &"','"& mc0 &"','"& trim(fixsql(rs(10))) &"','"& trim(fixsql(rs(8))) &"','"& trim(fixsql(rs(7))) &"','"& trim(fixsql(rs(6))) &"',"& trim(fixsql(rs(11))) &","& trim(fixsql(rs(20))) &")"
else
sql1 = "insert into product(p_name,p_weihao,p_fl,p_fl_1,p_sort,p_chandi,p_guige,p_guige_plan,p_danwei,p_yaochang,sum_sjbhl) values ('"& p_name &"','"& mc2 &"','"& mc_fl &"','"& mc_fl_1 &"','"& hz_wjm &"','"& mc0 &"','"& trim(fixsql(rs(10))) &"','"& trim(fixsql(rs(8))) &"','"& trim(fixsql(rs(7))) &"','"& trim(fixsql(rs(6))) &"',"& trim(fixsql(rs(11))) &")"
end if
conn.execute(sql1)
set res=server.CreateObject("adodb.recordset")
res.Open "select * from product", conn, 1, 1
res.movelast
p_id_max=res("p_id")
res.close
res.open "select * from pro_book", conn, 1, 3
res.addnew
res("p_id")=p_id_max
res("p_dhsj")=trim(fixsql(rs(18)))
res("p_dhr")=trim(fixsql(rs(17)))
if trim(fixsql(rs(9)))<>"" then
res("p_jhdhl")=trim(fixsql(rs(9)))
end if
if trim(fixsql(rs(11)))<>"" then
res("p_sjbhl")=trim(fixsql(rs(11)))
end if
res("p_dhyj")=trim(fixsql(rs(15)))
if trim(fixsql(rs(20)))<>"" then
res("p_count")=trim(fixsql(rs(20)))
end if
if trim(fixsql(rs(12)))<>"" then
res("p_price")=trim(fixsql(rs(12)))
end if
res("p_htdhsj")=trim(fixsql(rs(19)))
res("b_bz")=trim(fixsql(rs(14)))
if trim(fixsql(rs(12)))<>"" and trim(fixsql(rs(11)))<>"" then
res("p_cbprice")=CDbl(trim(fixsql(rs(12))))*CDbl(trim(fixsql(rs(11))))
end if
set ces = server.CreateObject("adodb.recordset")
sqlc = "select distinct(ct_id) from contract where p_bianma='"&trim(fixsql(rs(16)))&"' and c_sort='"&hz_wjm&"'"
ces.open sqlc,conn,1,1
if ces.eof or ces.bof then
ces.close
ces.open "select * from contract",conn,1,3
ces.addnew
ces("p_bianma")=trim(fixsql(rs(16)))
ces("p_htmc")=trim(fixsql(rs(23)))
ces("p_jinhuoshang")=trim(fixsql(rs(24)))
ces("c_sort")=hz_wjm
ces.update
ces.close
ces.open "select * from contract",conn,1,1
ces.movelast
res("ct_id")=ces("ct_id")
else
res("ct_id")=ces("ct_id")
end if
ces.close
set ces=nothing
res.update
res.close
set res=nothing
if err.number=0 or err.number=501 then
else
conn.rollbacktrans
set oFile=nothing
set upfile=nothing
'conn.close
'set conn = nothing
conn2.close
set conn2 = nothing
response.Write "<script LANGUAGE='javascript'>alert('数据导入出现错误:"&err.number&"!');history.go(-1);</script>"
response.End
end if
end if
rs.movenext
loop
conn.CommitTrans
set oFile=nothing'释放文件对象
conn2.close
set conn2 = nothing
next
set upfile=nothing'释放上传对象
'释放数据连接对象
conn.close
set conn = nothing
'conn2.close
'set conn2 = nothing

'response.Write "<script LANGUAGE='javascript'>alert('数据导入成功!');history.go(-1);</script>"
'response.End
end if


上传文件能显示test1,却不显示test2,upfile确定有东西,为什么不执行循环,也不报错,求助!!
...全文
115 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
MICKYONLY 2013-06-27
  • 打赏
  • 举报
回复
补充:没有文件被上传到服务器
MICKYONLY 2013-06-27
  • 打赏
  • 举报
回复
没人知道吗?急求助

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧