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

          人人为我,我为人人!
2007-10-03 16:23
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 

<%@ 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>
var idstr="";
var fNameStr="";
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;
}
}
}
function getSelIDFileName()
{
var filenames=document.kk.filename;
var ids=document.kk.id;
for(var i=0;i<ids.length;i++)
{
if(ids[i].checked)
{
idstr+=ids[i].value+"|";
fNameStr=filenames[i].value+"|";
}
}
}
function Page_Submit()
{
getSelIDFileName();
if(idstr=="")
{
alert('删除前请先选择要删除的内容');
return false;
}
if(confirm('删除后将不能恢复!您确定要删除吗?'))
{
self.location='filedel.asp?id='+idstr+'&filename='+fNameStr;
}
}
</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 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="Page_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>

以上是show.asp修改后的代码。

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

在线等!


          人人为我,我为人人!
2007-10-03 16:37
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 
有什么好研究的,循环删除呗

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2007-10-03 16:45
thbwn
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2007-10-2
收藏
得分:0 
谢谢热心的版主!!

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

俺不会呀


          人人为我,我为人人!
2007-10-03 16:45
thbwn
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2007-10-2
收藏
得分:0 
选中复选框后,仍提示“删除前请先选择要删除的内容”

          人人为我,我为人人!
2007-10-03 16:51
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 

这是filedel.asp的代码。
<!--#include file="conn.asp"-->
<%
On Error Resume Next
function DelFile(fPath,fName)
set fso=server.createobject("Scripting.filesystemobject")
if fso.fileexists(server.mappath(""&fPath&"/"&fName))=true then
fso.deletefile(server.mappath(""&fPath&"/"&fName))
End if
End Function
function DelAryFile(fAry,fPath)
Dim i
For i=0 To Ubound(fAry)
DelFile fPath,fAry(i)
Next
End Function
function DelDBFile(wStr,con)
con.execute "delete form [file] where "&wStr
end function
function getSqlQueryStr(Field,idStr)
Dim reStr
reStr=Field&"="&Replace(idStr,"|"," Or "&Field&"=")
getSqlQueryStr=reStr
End function
Dim id,filename,idAry,fAry,QueStr
id=trim(request("id"))
filename=trim(request("filename"))
if id <> "" or filename <> "" then
id=Mid(id,1,len(id)-1)
filename=Mid(filename,1,len(filename)-1)
idAry=Split(id,"|")
fAry=Split(filename,"|")
if isArray(idAry)=false Or isArray(fAry)=false Then
DelFile SavePath,request("filename")
DelDBFile "id="&request("id"),conn
else
QueStr=getSqlQueryStr("id",id)
DelDBFile QueStr,conn
DelAryFile fAry,SavePath
end if
IF Err.Number<>0 Then
Response.write "程序出现错误,可能提交了非法参数或数据"
Else
Response.Redirect("show.asp")
End IF
Else
Response.write "没有接收到任何参数及数据,提交数据错误"
End IF
%>
filedel.asp修改后的代码

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

2007-10-03 16:52
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
<SCRIPT language=JavaScript type=text/javascript>
var idstr="";
var fNameStr="";
function Page_Submit()
{
getSelIDFileName();
if(idstr=="")
{
alert('删除前请先选择要删除的内容');
return false;
}
if(confirm('删除后将不能恢复!您确定要删除吗?'))
{
self.location='filedel.asp?id='+idstr+'&filename='+fNameStr;
}
}
function CheckAll(form)
{
for (var i=0;i<form.elements.length;i++)
{
var e = form.elements[i];
if (e.name == 'fID')
{
e.checked = form.chkall.checked;
}
}
}
function getSelIDFileName()
{
var filenames=document.kk.filename;
var ids=document.kk.fID;
for(var i=0;i<ids.length;i++)
{
if(ids[i].checked)
{
idstr+=ids[i].value+"|";
fNameStr+=filenames[i].value+"|";
}
}
}
</script>
把javascript的代码改成这样。
<input type=checkbox name=fID value=<%=rs("id")%> />
这里改成fID
再试试

[此贴子已经被作者于2007-10-3 17:00:28编辑过]

2007-10-03 16:59
thbwn
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2007-10-2
收藏
得分:0 
再次谢过,我试试,有问题再帖出来

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



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

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