- 热门文章:
- · HTTP 500 内部服务器错误修正办法
- · 一份ASP学习笔记(连载三)
- · 动态生成的3级联动<select>
- · 一份ASP学习笔记(连载二)
- · 用字典提取汉语的拼音的首字母
- · IIS6.0的设置
- · 一份ASP学习笔记(连载)
- · 用ASP实现邮箱访问
- · 递归遍历目录
- · IIS中的MIME格式
- · Background属性简介
- · MSWC.NextLink的使用方法
上一篇:ASP六大对象介绍(绝对详细) >>
用asp整理磁盘文件
本文以整理图片文件为例,给大家一点思路
代码的运行环境:iis5.0+sql server2000
数据库脚本:
if exists (select * from dbo.sysobjects where id = object_id(N‘’[dbo].[insertpic]‘’) and OBJECTPROPERTY(id, N‘’IsProcedure‘’) = 1)
drop procedure [dbo].[insertpic]
GO
if exists (select * from dbo.sysobjects where id = object_id(N‘’[dbo].[showpage]‘’) and OBJECTPROPERTY(id, N‘’IsProcedure‘’) = 1)
drop procedure [dbo].[showpage]
GO
if exists (select * from dbo.sysobjects where id = object_id(N‘’[dbo].[picpath]‘’) and OBJECTPROPERTY(id, N‘’IsUserTable‘’) = 1)
drop table [dbo].[picpath]
GO
CREATE TABLE [dbo].[picpath] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[path] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
--作用:插入记录
CREATE PROCEDURE [insertpic]
(
--路径--
@path varchar(100)
)
AS
insert picpath(path) values(@path)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
/*
‘’# 过程:showpage
‘’# 描述:用来记录集分页
‘’# 参数: - pagenum (页码)
‘’# 返回:-两个记录集,第一个记录集包含两个字段(总页数),第二个记录集为数据库返回给程序要显示的数据
‘’# 作者:zhengs
‘’# 日期:2002-08-27
*/
CREATE PROCEDURE showpage
----页码
@PageNum int
AS
SET NOCOUNT ON
declare
@pagecount int,
@iFrom int,
@iRowCount int,
@dpicid int
----计算该页起始的偏移量
if @PageNum <= 0
set @PageNum = 1
set @iFrom = 10 * (@PageNum - 1) + 1
----判断传入的页码是否有效
select @iRowCount = count(id) from picpath ----取得图片数
set @PageCount = @iRowCount / 10 ----计算图片页数
if @iRowCount %10> 0
set @PageCount = @PageCount + 1
if @iRowCount < @iFrom
begin
set @iFrom = @iRowCount - 10
end
if @iFrom<0
select @iFrom=0
set rowcount @iFrom
select @dpicid = id from picpath order by id desc
set rowcount 0
----取得图片列表
select @pagecount as pagecount
select top 10 * from picpath Where id <= @dpicid order by id desc
SET NOCOUNT off
SP_END:
select @pagecount as pagecount
SET NOCOUNT off
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
搜索并存储到数据库
search.asp
<%@LANGUAGE="VBSCRIPT" %>
<%
‘’***********************************************************************************
‘’ 文件名.........: search.asp
‘’ 作者...........: cxb
‘’ 说明...........: 搜索并存储到数据库
‘’ 注意...........:
‘’ 版权...........: Copyright (c) 2000, NetDragon Software.
‘’ 修改记录.......: 时间 人员 备注
‘’ --------- ------- -------------------------------------------
‘’ 2003-09-26 陈兴柏 创建文件
‘’***********************************************************************************
Server.ScriptTimeOut=500
dim a,b
‘’检测时间参数
a=timer
dim conn,strconn
Set conn = Server.CreateObject("ADODB.Connection")
strconn = "Provider=SQLOLEDB;Data Source=127.0.0.1;Initial Catalog=search;User ID=sa;Password=196881"
conn.open strconn
Const adCmdStoredProc = &H0004
Const adParamInput = &H0001
Const adVarChar = 200
‘’# --------------------------------------------------------------------------
‘’# 函数:getFileExtName
‘’# 描述:获得文件是否为图片文件
‘’# 参数:--fName
‘’# 返回:--true or false
‘’# 作者:cxb
‘’# 日期:2003-9-26
‘’#--------------------------------------------------------------------------
function getFileExtName(fName)
if instr(fname,".gif") or instr(fname,".GIF") or instr(fname,".jpg") or instr(fname,".JPG") or instr(fname,".bmp") or instr(fname,".BMP") then
getFileExtName=true
else
getFileExtName=false
end if
end function
‘’# --------------------------------------------------------------------------
‘’# 函数:insertfilepath
‘’# 描述:将路径信息插入数据库
‘’# 参数:--filename
‘’# 返回:--
‘’# 作者:cxb
‘’# 日期:2003-9-26
‘’#--------------------------------------------------------------------------
function insertfilepath(filename)
dim picCommand,filepath
set picCommand=Server.CreateObject("ADODB.command")
set picCommand.ActiveConnection=conn
picCommand.CommandType=adCmdStoredProc
picCommand.CommandText="insertpic"
set filepath=picCommand.CreateParameter("path",advarchar,adparaminput,100)
picCommand.parameters.append filepath
picCommand("path")=filename
picCommand.Execute
set picCommand=nothing
end function
‘’# --------------------------------------------------------------------------
‘’# 函数:ShowFiles
‘’# 描述:搜索文件夹和文件
‘’# 参数:objfolder
‘’# 作者:cxb
‘’# 返回:所有的文件名和所在的目录
‘’# 日期:2003-9-26
‘’#--------------------------------------------------------------------------
function ShowFiles(byref objfolder)
dim folder,filename
‘’递归获得所有的文件
for each folder in objfolder.subfolders
ShowFiles folder
next
for each filename in objfolder.files ‘’搜索所有的文件
if getFileExtName(filename.name) then ‘’检查是否为图片
insertfilepath(filename) ‘’存储到数据库
end if
next
end function
dim objfolder,objrootfolder
set objfolder=Server.createobject("Scripting.FileSystemObject")
set objrootfolder=objfolder.GetFolder("C:\Inetpub\wwwroot\zy")
‘’这里的路径可以改变
if request.QueryString("action")="search" then
ShowFiles objrootfolder
b=timer ‘’程序结束时间
response.Write("共运行"&b-a&"秒")
‘’搜索并存储
end if
set conn=nothing
%><title>搜索并存储到数据库</title>
<div align="center"><a href=search.asp?action=search>搜索并存储到数据库</a></div>
整理页面
show.asp
<%@LANGUAGE="VBSCRIPT" %>
<%
‘’***********************************************************************************
‘’ 文件名.........: show.asp
‘’ 作者...........: cxb
‘’ 说明...........:
‘’ 注意...........:
‘’ 版权...........: Copyright (c) 2000, NetDragon Software.
‘’ 修改记录.......: 时间 人员 备注
‘’ --------- ------- -------------------------------------------
‘’ 2003-09-26 陈兴柏 创建文件
‘’***********************************************************************************
Server.ScriptTimeOut=100
dim conn,strconn
Set conn = Server.CreateObject("ADODB.Connection")
strconn = "Provider=SQLOLEDB;Data Source=192.168.1.221;Initial Catalog=search;User ID=sa;Password=196881"
conn.open strconn
Const adCmdStoredProc = &H0004
Const adParamInput = &H0001
Const adInteger = 3
page=replace(request("page"),"‘’","")
if page="" then page=1
page=clng(page)
if request("action")="wl" then
‘’完成删除物理图片
delwl(Request("checkbox"))
end if
dim news
pic=createpic(page) ‘’显示页面
conn.close
set conn=nothing
‘’# ----------------------------------------------------------------------------
‘’# 函数:delwl(id)
‘’# 描述:完成删除物理图片
‘’# 参数:id
‘’# 返回:--
‘’# 作者:陈兴柏
‘’# 日期:2003.09.26
‘’#-----------------------------------------------------------------------------
function delwl(id)
if id <>"" then
dim fso,skyfile,rs,sql ,AdoCmd_del
Set fso = CreateObject("Scripting.FileSystemObject")
Set rs= Server.CreateObject("ADODB.Recordset")
sql="select path FROM picpath WHERE id IN "
sql=sql &"(" & id & ")"
rs.open sql,conn,1,3
while not rs.eof
if Fso.FileExists (rs(0)) then
Set skyfile = fso.GetFile(rs(0))
skyfile.Delete()
end if
rs.movenext
wend
set rs=nothing
set fso=nothing
‘’以上完成删除物理图片
‘’以下完成删除数据库的图片信息
sql="DELETE FROM picpath WHERE id IN "
sql=sql &"(" & id & ")"
set AdoCmd_del = Server.CreateObject("ADODB.Command")
AdoCmd_del.ActiveConnection = conn
AdoCmd_del.CommandText = sql
AdoCmd_del.Execute()
set AdoCmd_del=nothing
response.write "<script>alert(‘’已经成功删除物理图片!‘’);window.location=‘’show.asp?page="&page&"‘’;</script>"
end if
end function
‘’# ----------------------------------------------------------------------------
‘’# 函数:createpic
‘’# 描述:生成图片信息并分页
‘’# 参数:page
‘’# 返回:--
‘’# 作者:陈兴柏
‘’# 日期:2003.09.26
‘’#-----------------------------------------------------------------------------
function Createpic(page)
dim picCommand,yeshu,strtemp,tp,id
set picCommand=Server.CreateObject("ADODB.command")
set picCommand.ActiveConnection=conn
picCommand.CommandType=adCmdStoredProc
picCommand.CommandText="showpage"
set Pagenum=picCommand.CreateParameter("@PageNum",adInteger,adparaminput)
picCommand.parameters.append Pagenum
‘’传递页数
picCommand("@PageNum")=clng(page)
set rs=picCommand.Execute
yeshu=rs("pagecount")
set rs=rs.nextrecordset
strtemp=""
strtemp="<form method=‘’post‘’><table width=100% style=‘’border-collapse: collapse; border: 1 solid #669ED6‘’ cellspacing=0 cellpadding=2>"
IF rs.eof THEN
strTemp=strTemp&"<tr><td><font color=‘’#FF0000‘’>对不起!暂时没有信息!</font></tr></td>"
strTemp=strTemp&"</table>"
else
strTemp = strTemp &"<tr><td style=‘’border: 1 solid #669ED6‘’ align=center><input type=button value=全选 onClick=‘’this.value=check(this.form.checkbox)‘’></td><td style=‘’border: 1 solid #669ED6‘’ bgcolor=‘’#999999‘’ align=center><font size=3><font face=黑体>路径</font></font></td><td style=‘’border: 1 solid #669ED6‘’ bgcolor=‘’#999999‘’ align=center> <font size=3><font face=黑体>图片</font></font></td></tr>"
Do while (not Rs.Eof)
id=rs(0)
tp=rs(1)
strTemp = strTemp &"<tr><td style=‘’border: 1 solid #669ED6‘’ align=center><input type=checkbox name=checkbox value="&id&"></td><td style=‘’border: 1 solid #669ED6‘’>"&tp&"</td><td style=‘’border: 1 solid #669ED6‘’><a href=showdetail.asp?tp="&tp&" target=_blank><img src="&tp&" width=100 height=50 border=0 alt=点击这里查看原图></a></td></tr>"
Rs.MoveNext
Loop
strTemp=strTemp&"</table>"
strTemp=strTemp&"<table width=500 border=0 cellspacing=0 cellpadding=0> <tr><td><input type=submit name=Submit value=删除选中物理图片 onclick=this.form.action=‘’show.asp?action=wl&page="&page&"‘’></td></tr></table></form>"
strTemp=strTemp&"<br><table width=100% ><form name=‘’form1‘’ action=show.asp><tr><td align=right>"
if page<>1 and yeshu>=1 then
strTemp=strTemp&"<a href=show.asp?page=1>第一页</a>"
strTemp=strTemp&"<a href=show.asp?page="&cint(page-1)&">上一页</a>"
end if
if page<>yeshu and yeshu>=1 then
strTemp=strTemp&"<a href=show.asp?page="&cint(page+1)&">下一页</a>"
strTemp=strTemp&"<a href=show.asp?page="&yeshu&">最后一页</a>"
end if
if yeshu>=1 then
strTemp=" "&strTemp&page&"/"&yeshu&"页"
end if
if yeshu>=2 then ‘’如果页数大于1就建立跳转
strTemp=strTemp& " 第"&"<input name=‘’page‘’ type=‘’text‘’ id=‘’page‘’ size=‘’2‘’>"&"页 <a href=# onclick=‘’document.form1.submit();‘’>go</a>"
end if
strTemp=strTemp&"</tr></td></form ></table>"
end if
Createpic=strtemp
Rs.close
set Rs=nothing
set picCommand=nothing
end function
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<style>
a {
font-size: 12px;
text-decoration: none;
font-family: "Arial", "Helvetica", "sans-serif";
line-height: 20px;
; color: #000000
}
a:active { font-size: 12px; color: #000000; text-decoration: none; font-family: "Arial", "Helvetica", "sans-serif"}
a:hover { font-size: 12px; color: #FF6600; font-family: "Arial", "Helvetica", "sans-serif"; text-decoration: none}
.white {
font-family: "Arial", "Helvetica", "sans-serif";
font-size: 12px;
line-height: 20px;
color: #FFFFFF;
text-decoration: none;
}</style>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>显示图片</title>
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div align="center">
<table width="650" height="18" border="0" cellpadding="0" cellspacing="0">
<tr>
<td ><%=pic%></td>
</tr>
</table>
</div>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var checkflag = "false";
function check(field) {
if (checkflag == "false") {
for (i = 0; i < field.length; i++) {
field[i].checked = true;}
checkflag = "true";
return "全不选"; }
else {
for (i = 0; i < field.length; i++) {
field[i].checked = false; }
checkflag = "false";
return "全选"; }
}
// End -->
</script>
</body>
</html>
showdetail.asp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>显示图片</title>
</head>
<body>
<a href="#" onClick="javascript:window.close();"><img src="<%=request.QueryString("tp")%>" border="0" alt="点击关闭"></a>
</body>
</html>
下一篇:HTTP 500 内部服务器错误修正办法 >>
相关文章:
- · ping的高级用法
- · 查询一条记录,按所选择的字段输出。
- · 多文件多文本框上传程序
- · 用asp整理磁盘文件
- · 将ACCESS转化成SQL2000需要注意的几个问题
- · 项目中的模块
- · 将人民币的数字表示转化成大写表示
- · ASP中存储过程调用的两种方式,以及不采用存储过程的方式比较
- · 关于ASP的(VBScript)类,只希望给初学者看一看,希望对你们有帮助
- · 认识ASP内置的对象
- · ASP内置对象
- · ASP函数
- · 随机生成不重复记录的伪函数
- · 浅谈随机得控制
- · 一个关于日期选择的很实用的小东西
- · ASP的身份证验证代码改进
- · DHTML对象模型(About the DHTML Object Model)(三)
- · DHTML对象模型(About the DHTML Object Model)(二)
- · DHTML对象模型(About the DHTML Object Model)(一)
- · 全面考察“禁用浏览器后退按钮”
- · 如何快速找到ASP的错误
- · 中国高校勤工助学网站程序开发质量和管理标准化
- · asp上传
- · Form提交打开固定大小窗口的解决办法
- · 按钮链接乾坤大挪移
- · DW+ASP 玩转动态二级菜单
- · WEB环境中后台自动上传文件至数据库的实现
- · VBScript 函数集
- · 如何在生成的静态页面中显示文章被阅读的次数
- · 查看服务器所有Application变量、Session变量工具
- · 创建一个ASP通用分页类(二)代码部分
- · 创建一个ASP分页类(一)文章部分
- · 错误80004005信息处理方法
- · urldecode 方法补遗。
- · 建立你网站的投票机制![翻译]
- · IIS中的 MIME类型
- · 利用stream直接下载文件
- · 一个统计当前在线用户的解决方案,可以在聊天室、论坛、网站中使用
