技术交流 · 2009 年 4 月 17 日 0

ASP+JS批量删记录&JS实现批量下载

一、ASP+JS批量删除数据库记录:
目的:删除adta.mdb数据库中gbook表中id从768到2580的记录(本人前段时间留言板没有加验证码,被无耻无聊人士注入写了两千多条垃圾留言,加之没有安装ms access)
实现思路(假设所有的页面都和数据库文件在一个目录下):
1、先利用一个页面查看目前该表的记录(show.asp),源程序如下:
<%
set conn=server.createobject(“adodb.connection”)
conn.open “driver={microsoft access driver (*.mdb)};dbq=”&server.mappath(“data.mdb”)
exec=”select * from gbook”
set rs=server.createobject(“adodb.recordset”)
rs.open exec,conn,1,1
%>
<html>
<head>
<title>显示当前表的记录</title>
</head>
<body bgcolor=”#FFFFFF” text=”#000000″>
<table width=”100%” border=”0″ cellspacing=”0″ cellpadding=”0″>
<%
do while not rs.eof
%><tr>
<td><%=rs(“id”)%></td>
<td><%=rs(“name”)%></td>
<td><%=rs(“sex”)%></td>
<td><%=rs(“content”)%></td>
<td><%=rs(“date”)%></td>
</tr>
<%
rs.movenext
loop
%>
</table>
</body>
</html>

2、编辑一个通过url传递要删除记录的id的删除页面(del.asp),源程序如下:
  <%
set conn=server.createobject(“adodb.connection”)
conn.open “driver={microsoft access driver (*.mdb)};dbq=”&server.mappath(“data.mdb”)
exec=”select * from gbook”
set rs=server.createobject(“adodb.recordset”)
rs.open exec,conn,1,1
  getid=cint(request(“getid”))
  sql=”delete from gbook where id=”&getid
  conn.execute(sql)
  %>

3、编辑一个页面shanchu.html,页面里用JS写一个函数function shanchu(),该函数通过一个循环控制变量来打开del.asp?getid=768到del.asp?getid=2580,利用window.open打开新窗口,延时500毫秒后关闭窗口,这样一直执行下去,直到打开关闭了del.asp?getid=2580结束(建议使用ie7或者其他打开新窗口在新选项卡的浏览器),源程序如下:
<html>
<head>
<title>循环批量删除记录</title>
</head>
<body>
<script>
<!–
var i;
function shanchu()
{
for(i=768;i<=2580;i++)
{
pageurl=’del.asp?getid=’+i;
openpage=window.open(pageurl);
setTimeout(“openpage.close()”,500);
}
}
//–>
</script>
</body>
</html>
这样就基本实现了批量删除记录,并且可以通过show.asp查看结果。

二、JS实现批量下载
今天在网上找到了清华大学严蔚敏老师的数据结构视频教程,但是他只给除了每个asf文件的地址,必须自己复制到下载工具里面!于是我又想到之前批量删除记录时用JS写的循环打开窗口的办法!源程序如下:
<html>
<head>
<title>数据结构视频下载</title>
</head>
<body>
<script>
<!–
var i;
function opendown()
{
for(i=1;i<=48;i++)
{
pageurl=’http://www.uzz.edu.cn/jsjx/kaoyan/vod/DataStructure/’+i+’.asf”;
openpage=window.open(pageurl);
// setTimeout(“openpage.close()”,50000);
}
}
onload=opendown;
//–>
</script>
</body>
</html>