新手高分请教简单问题

yujingfree 2006-09-27 01:54:38
我想实现一个自动添加数据库目录的程序,添加的时候具体流程为:指定文件目录,指定要写入数据库的文件数量,因为文件命名为1.jpg,2.jgp,3.jgp,4.jgp,5.jgp依次类推,所以我们想实现多个文件一起写入数据库,具体流程:

指定图片的文件夹-----指定需要上传的文件数量-------文件名起始数字------文件格式-----写入数据库-----图片地址项目==指定的文件夹+文件起始数字+.文件格式------起始数字加1后循环到写入输入库.

但是我写出来了后怎么测试都通不过,经常出现超时现象,并且一个都没有写进去,我不知道具体问题出在哪里?
以下是过程

<%
dim Action,rs,sql,ErrMsg,FoundErr,ObjInstalled
dim SoftID,ClassID,SoftName,OperatingSystem,Author,AuthorEmail
dim SoftPicUrl,OnTop,Elite,Stars,UpdateTime,Editor,Hits,DayHits,WeekHits,MonthHits
dim SoftLevel,SoftPoint,Passed,DownloadUrl1,DownloadUrl2
dim tClass,ClassName,Depth,ParentPath,Child,i,m
ObjInstalled=IsObjInstalled("Scripting.FileSystemObject")
FoundErr=false
Action=trim(request("Action"))'提交
SoftID=Trim(Request.Form("SoftID"))'软件ID
ClassID=trim(request.form("ClassID"))'类别
SoftName=trim(request.form("SoftName"))'图片名称
OperatingSystem=trim(request.form("OperatingSystem"))'图片模式
Author=trim(request.form("Author"))'上传图片个数
AuthorEmail=trim(request.form("AuthorEmail"))'图片格式
DownloadUrl2=trim(request.form("DownloadUrl2"))'图片文件夹
OnTop=trim(request.form("OnTop"))
Elite=trim(request.form("Elite"))
Stars=trim(request.form("Stars"))
UpdateTime=trim(request.form("UpdateTime"))
Editor=AdminName
Hits=trim(request.form("Hits"))
DayHits=trim(request.form("DayHits"))
WeekHits=trim(request.form("WeekHits"))
MonthHits=trim(request.form("MonthHits"))
SoftLevel=trim(request.form("SoftLevel"))
SoftPoint=trim(request.form("SoftPoint"))
Passed=trim(request.form("Passed"))
m=0

if Action="" then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>参数不足</li>"
else
Do while m<=Author
call SaveSoft()
m=m+1

loop
end if
if founderr=true then
call WriteErrMsg()
else
call SaveSuccess()
end if
call CloseConn()


sub SaveSoft()
dim PurviewChecked
if ClassID="" then
founderr=true
errmsg=errmsg & "<br><li>未指定软件所属栏目或者指定的栏目有下属子栏目</li>"
else
ClassID=CLng(ClassID)
if ClassID<=0 then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>指定了非法的栏目(外部栏目或不存在的栏目)</li>"
else
set tClass=conn.execute("select ClassName,Depth,ParentPath,Child,LinkUrl From SoftClass where ClassID=" & ClassID)
if tClass.bof and tClass.eof then
founderr=True
ErrMsg=ErrMsg & "<br><li>找不到指定的栏目</li>"
else
ClassName=tClass(0)
Depth=tClass(1)
ParentPath=tClass(2)
Child=tClass(3)
if Child>0 then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>指定的栏目有下属子栏目</li>"
end if
if tClass(4)<>"" then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>不能指定外部栏目</li>"
end if
if AdminPurview=2 and AdminPurview_Soft=3 then
PurviewChecked=CheckClassMaster(tClass(6),AdminName)
if PurviewChecked=False and tClass(5)>0 then
set tClass=conn.execute("select ClassInputer from SoftClass where ClassID in (" & ParentPath & ")")
do while not tClass.eof
PurviewChecked=CheckClassMaster(tClass(0),AdminName)
if PurviewChecked=True then exit do
tClass.movenext
loop
end if
if PurviewChecked=False then
FoundErr=True
ErrMsg=ErrMsg & "<br><li>对不起,你没有在此栏目添加图片的权限!</li>"
end if
end if
end if
end if
end if
if SoftName="" then
founderr=true
errmsg=ErrMsg & "<br><li>软件名称不能为空</li>"
end if

if FoundErr=True then
exit sub
end if
if UpdateTime<>"" and IsDate(UpdateTime)=true then
UpdateTime=CDate(UpdateTime)
else
UpdateTime=now()
end if
if Hits<>"" then
Hits=CLng(Hits)
else
Hits=0
end if
if DayHits<>"" then
DayHits=CLng(DayHits)
else
DayHits=0
end if
if WeekHits<>"" then
WeekHits=CLng(WeekHits)
else
WeekHits=0
end if
if MonthHits<>"" then
MonthHits=CLng(MonthHits)
else
MonthHits=0
end if
if SoftLevel="" then
SoftLevel=9999
else
SoftLevel=CInt(SoftLevel)
end if
if SoftPoint="" then
SoftPoint=0
else
SoftPoint=Cint(SoftPoint)
end if
if Stars="" then
Stars=0
else
Stars=CInt(Stars)
end if
set rs=server.createobject("adodb.recordset")
if Action="Add" then
sql="select top 1 * from Soft"
rs.open sql,conn,1,3
rs.addnew
call SaveData()
rs("Editor")=Editor
rs.update
SoftID=rs("SoftID")
Passed=rs("Passed")
rs.close
elseif Action="Modify" then
if SoftID="" then
founderr=true
errmsg=errmsg & "<br><li>不能确定SoftID的值</li>"
else
SoftID=Clng(SoftID)
sql="select * from Soft where Softid=" & SoftID
rs.open sql,conn,1,3
if rs.bof and rs.eof then
founderr=true
errmsg=errmsg & "<br><li>找不到此软件,可能已经被其他人删除。</li>"
else
call SaveData()
rs.update
Passed=rs("Passed")
rs.close
end if
end if
else
FoundErr=True
ErrMsg="<br><li>参数错误!</li>"
end if
set rs=nothing
end sub

sub SaveData()
rs("ClassID")=ClassID
'rs("SpecialID")=SpecialID
rs("SoftName")=SoftName
rs("OperatingSystem")=OperatingSystem
rs("Author")=Author
rs("AuthorEmail")=AuthorEmail
rs("SoftPicUrl")=trim(request.form("DownloadUrl2"))+m+".gif"
rs("DownloadUrl2")=trim(request.form("DownloadUrl2"))+m+AuthorEmail
rs("Hits")=Hits
rs("DayHits")=DayHits
rs("WeekHits")=WeekHits
rs("MonthHits")=MonthHits
rs("SoftLevel")=SoftLevel
rs("SoftPoint")=SoftPoint
rs("Stars")=Stars
rs("UpdateTime")=UpdateTime
SoftID=CLng(SoftID)+1
if Passed="yes" then
rs("Passed")=True
else
rs("Passed")=False
end if
if OnTop="yes" then
rs("OnTop")=True
else
rs("OnTop")=False
end if
if Elite="yes" then
rs("Elite")=True
else
rs("Elite")=False
end if
end sub

希望有高手帮看看不盛感激
...全文
104 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yujingfree 2006-09-28
  • 打赏
  • 举报
回复
先谢谢您的回答,解决后一定给您加分
在这个循环之前自己设定的一个变量,设定的M=0
不知道M是否可以应用
我如果这样循环的话,在是否能解决超时的问题,
penglewen 2006-09-28
  • 打赏
  • 举报
回复
如果没有逻辑的错误,你这种的do while 可以实现。。。。。。。
这句最好还是这样写:
rs("SoftPicUrl")=trim(request.form("DownloadUrl2"))&m&".gif"
不过想问你一下,你的这个m从那里传过来的??????
yujingfree 2006-09-28
  • 打赏
  • 举报
回复
sub SaveData()
rs("ClassID")=ClassID //写入类ID
'rs("SpecialID")=SpecialID //小类ID
rs("SoftName")=SoftName //软件名称
rs("OperatingSystem")=OperatingSystem
rs("Author")=Author
rs("AuthorEmail")=AuthorEmail //软件格式
■ rs("SoftPicUrl")=trim(request.form("DownloadUrl2"))+m+".gif" //图片地址---DownloadUrl2图片文件夹地址,M为设定的变量,.gif为图片格式
■ rs("DownloadUrl2")=trim(request.form("DownloadUrl2"))+m+AuthorEmail
//软件地址---DownloadUrl软件文件夹地址,M为设定的变量,AuthorEmail为软件格式

rs("Hits")=Hits
rs("DayHits")=DayHits
rs("WeekHits")=WeekHits
rs("MonthHits")=MonthHits
rs("SoftLevel")=SoftLevel
rs("SoftPoint")=SoftPoint
rs("Stars")=Stars
rs("UpdateTime")=UpdateTime
SoftID=CLng(SoftID)+1
if Passed="yes" then
rs("Passed")=True
else
rs("Passed")=False
end if
if OnTop="yes" then
rs("OnTop")=True
else
rs("OnTop")=False
end if
if Elite="yes" then
rs("Elite")=True
else
rs("Elite")=False
end if
end sub



里边最主要的就是这个代码///
这个写入到数据库的函数,
在上边用
Do while m<=Author
call SaveSoft()
m=m+1

loop
进行调用,M为设定的变量,Author为需要上传的图片数量.
问题一:在我标记有■的代码中格式是否正确
问题二:在最后的Do while循环能否实现,
请高手能帮助解答,十分感谢
x03570227 2006-09-27
  • 打赏
  • 举报
回复
简单的问题应该是明确,简明的,哈哈,同意楼上的
he2008xu 2006-09-27
  • 打赏
  • 举报
回复
看到你的代码就晕了.....
yujingfree 2006-09-27
  • 打赏
  • 举报
回复
怎么没有人回复啊,哪位知道,拜托了

28,391

社区成员

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

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