| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5609 人关注过本帖
标题:[求助]"删除所选(复选框)"时怎样才能同时删除数据库记录及相关文件 ...
取消只看楼主 加入收藏
thbwn
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2007-10-2
结帖率:80%
收藏
 问题点数:0 回复次数:48 
[求助]"删除所选(复选框)"时怎样才能同时删除数据库记录及相关文件

这段代码不知道哪有问题,删除所选时数据库记录删除正确,但所有文件都被删除了,不是相关文件被删除,请教各位大侠:

<!--#include file="conn.asp"-->
<%
id= trim(request("id"))
filename=trim(request("filename"))

if id <> "" or filename <> "" then
fileid = split(id,", ")
for i=0 to ubound(fileid)
if fileid(i) <> "" then
sql="delete from [file] where id="&fileid(i)
conn.execute(sql)
end if
next

filedel = split(filename,", ")
for i=0 to ubound(filedel)
set fso=server.createobject("Scripting.filesystemobject")
if fso.fileexists(server.mappath(""&SavePath&"/"&filedel(i)))=true then
fso.deletefile(server.mappath(""&SavePath&"/"&filedel(i)))
End if
next

end if

response.Redirect("show.asp")
%>

搜索更多相关主题的帖子: 复选 数据库 文件 fileid 
2007-10-03 11:41
thbwn
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2007-10-2
收藏
得分:0 

我把关联的前一页"show"发出来,大伙儿看看,这一页有没有问题:
<%@ codepage=936 %>
<!--#include file="conn.asp"-->
<%
dim i,intPage,page,pre,last,filepath
set rs = server.CreateObject("adodb.recordset")
sql="select * from file order by ID"
rs.PageSize = 15 //(HacKpp:这里设定每页显示的记录数
rs.CursorLocation = 3
rs.Open sql,conn,0,2,1 //(HacKpp:'这里执行你查询SQL并获得结果记录集
pre = true
last = true
page = trim(Request.QueryString("page"))

if len(page) = 0 then
intpage = 1
pre = false
else
if cint(page) =< 1 then
intpage = 1
pre = false
else
if cint(page) >= rs.PageCount then
intpage = rs.PageCount
last = false
else
intpage = cint(page)
end if
end if
end if
if not rs.eof then
rs.AbsolutePage = intpage
end if
%>

<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>木目ASP文件上传工具(川江号子修改版)</title>
<link rel="stylesheet" href="Data\style.css">
</head>
<SCRIPT language=JavaScript type=text/javascript>
function CheckAll(form) {
for (var i=0;i<form.elements.length;i++) {
var e = form.elements[i];
if (e.name == 'ID'){
e.checked = form.chkall.checked;
}
}
}
</SCRIPT>
<body style="text-align: center">

<div align="center">
<table width="150" border="1" align="center" cellpadding="3" cellspacing="1" bordercolor="#7B96BD" bordercolordark="#FFFFFF">
<tr>
<td height="22" align="center" bgcolor="#7C96B8"><font color="#FFFFFF">上传文件列表</font></td>
</tr>
</table>
<br>
<FORM name=kk action=del.asp method=post>
<table width="650" height="42" border="1" align="center" cellpadding="3" cellspacing="1" bordercolor="#7C96B8" bordercolordark="#FFFFFF">
<TR align="center">
<td width="10%" height="20" bgcolor="#006666" align="center"><font color="#FFFFFF">选择</font></td>
<td width="10%" height="20" bgcolor="#006666" align="center"><font color="#FFFFFF">ID</font></td>
<td width="25%" height="20" bgcolor="#006666" align="center"><font color="#FFFFFF">文件名</font></td>
<td width="20%" height="20" bgcolor="#006666" align="center"><font color="#FFFFFF">文件大小</font></td>
<td width="25%" height="20" bgcolor="#006666" align="center"><font color="#FFFFFF">上传时间</font></td>
</tr>
<%if rs.EOF or rs.BOF then
response.write "<TR><td colspan=10 height=20><div align=center>暂时还没有任何上传文件</div></td></TR>"
end if
%>
<%
for i=1 to rs.PageSize
if rs.EOF or rs.BOF then exit for
%>
<tr align=center>
<input type=hidden name=filename value=<%=rs("filename")%> />
<td width="10%" height="20" align="center"><input type=checkbox name=ID id=id value=<%=rs("id")%> /></td>
<td width="10%" height="20" align="center"><%=rs("ID")%></td>
<td width="25%" align="center"><%=rs("fileName")%></td>
<td width="20%" align="center"><%=Split(Rs("contentlen"),".")(0)%>&nbsp;KB</td>
<td width="25%" align="center"><%=rs("uptime")%></td>
</tr>
<%
rs.movenext
next
%>
</table>
<p><DIV class=bottom><INPUT onclick=CheckAll(this.form) type=checkbox value=on
name=chkall> 全选&nbsp;&nbsp;<INPUT class=button onClick="if(confirm('删除后将不能恢复!您确定要删除吗?'))form.submit()" type=button value=删除所选></DIV> </p></FORM>
<center>

<table width="650" border="0" cellpadding="3" cellspacing="1" borderColorLight=#808080 borderColorDark=#ffffff>
<tr>
<%if rs.pagecount > 0 then%>
<td width="13%" align="left">当前页<%=intpage%>/<%=rs.PageCount%></td>
<%else%>
<td width="40%" align="left">当前页0/0</td><%end if%>
<td width="47%" align="right"> <a href="Show.asp?page=1">首页</a>|
<%if pre then%>
<a href="Show.asp?page=<%=intpage -1%>">上页</a>| <%end if%>
<%if last then%>
<a href="Show.asp?page=<%=intpage +1%>">下页</a> |<%end if%>
<a href="Show.asp?page=<%=rs.PageCount%>">尾页</a>|转到第
<select name="sel_page" onChange="javascript:location=this.options[this.selectedIndex].value;">
<%
for i = 1 to rs.PageCount
if i = intpage then%>
<option value="Show.asp?page=<%=i%>" selected><%=i%></option>
<%else%>
<option value="Show.asp?page=<%=i%>"><%=i%></option>
<%
end if
next
%>
</select>页</font>
</td>
</tr>
</table>
<p>&nbsp;</p>
<p><a href="upload.asp" target="_self"><font color="#0000FF">[返回上传页]</font></a>  <a href="mdbzip.asp" target="_self"><font color="#0000FF">[压缩数据库]</font></a></p>
</center>
</div>
</body>

</html>


[此贴子已经被作者于2007-10-3 16:06:49编辑过]


          人人为我,我为人人!
2007-10-03 11:41
thbwn
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2007-10-2
收藏
得分:0 

谢谢老兄帮忙,但你这段代码只能清除数据库里的记录,我想同时删除上传的文件,代码应该是怎样的呢?我的代码删除数据库记录没有问题的,就是想两种功能同时进行,对上传文件进行有效的管理.可能要用到FSO,循环删除

[此贴子已经被作者于2007-10-3 14:33:29编辑过]


          人人为我,我为人人!
2007-10-03 14:25
thbwn
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2007-10-2
收藏
得分:0 
谢谢版主!
不过,问题没解决,还需麻烦你.
我把源码传上来,这是一个简单的上传管理源码,我自己修改的,增加了数据库,就是删除怎么也弄不明白了,show.asp是显示页,有复选框,可全选,然后删除所选,我的想法是:数据库记录删除的同时删除与记录相关的文件(包括rar\gif等文件),就像有的论坛管理"上传文件"那样.
请帮我改改.
filedel.asp是删除转向页,完成删除功能.也不知show.asp没有有问题.
总之,麻烦版主及各位大虾了,要不我寝食难安!!


fLucCjIE.rar (121.71 KB) [求助]"删除所选(复选框)"时怎样才能同时删除数据库记录及相关文件


[此贴子已经被作者于2007-10-3 15:16:22编辑过]


          人人为我,我为人人!
2007-10-03 15:04
thbwn
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2007-10-2
收藏
得分:0 
1楼提供的是filedel.asp删除功能页

          人人为我,我为人人!
2007-10-03 15:56
thbwn
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2007-10-2
收藏
得分:0 
这两天一直在研究上传管理

          人人为我,我为人人!
2007-10-03 15:56
thbwn
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2007-10-2
收藏
得分:0 

一个个地执行删除,这个我研究明白了。就是这种用复选框,一次一页全选删除,或选后一次执行删除弄不了了,道行太浅哟。这种功就跟论坛管理上传一样,挺方便的。大伙儿帮帮忙。
1、删数据库记录,可通过ID就行。
2、删除文件,想必会用到FSO,循环删除才行吧,应该通过文件名才行。就是……哎,搞了一天了,还是……


          人人为我,我为人人!
2007-10-03 16:02
thbwn
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2007-10-2
收藏
得分:0 
要是上传文件太多,而且时间长了,没用需删除掉的文件也会太多,删起来挺麻烦,不过,也是想向大家学习学习,研究起来有意思。请大伙儿务必帮我,有谁能改后,烦请传上来,供大家分享哟

          人人为我,我为人人!
2007-10-03 16:05
thbwn
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2007-10-2
收藏
得分:0 

要实现的功能:
1、点击全选,然后点“删除所选”删除一页;
2、通过复选框选中需删除的文件,然后点“删除所选”

一次性执行删除,不用一个个地删除。

[此贴子已经被作者于2007-10-3 16:13:35编辑过]


          人人为我,我为人人!
2007-10-03 16:12
thbwn
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2007-10-2
收藏
得分:0 
月夜说的很对,就是这种效果。大家努努力,我可是不会罗。

          人人为我,我为人人!
2007-10-03 16:15
快速回复:[求助]"删除所选(复选框)"时怎样才能同时删除数据库记录及相关文件 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031947 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved