网站首页 手机版
 注册 登录
您现在的位置: 畅无忧设计 >> 网络编程 >> ASP教程 >> 正文
最新文章
· FSO 组件asp生成html静态页面碰到缓存
· asp实现长文章自动分页插件
· 在ASP中访问和更新Cookies集合
· ASP错误提示大全
· 学习ASP的几个观点
· ASP用两级联动下拉列表来显示大类和小
· ASP取当前页面地址和参数
· ASP删除记录的同时删除相关图片
· asp将查询结果导出到excel
· ASP批量导入Excel到Access或者Sql Se
热门文章
 化境ASP无组件上传类 - upload_5xs
 一个获取ACCESS数据库表名以及表名
 asp将查询结果导出到excel
 艾恩ASP无组件上传修改版
 ASP批量导入Excel到Access或者Sql 
 ASP读取数据库的Flash+JS图片切换特
 ASP用两级联动下拉列表来显示大类和
 ASP+JS实现网页歌曲连播、点播功能
 使用ASP重启服务器
 asp批量替换access数据库中指定字段
相关文章
asp删除数据库记录同时删除与该记录相关的
ASP删除记录的同时删除相关图片
来源:网易博客 更新时间:2012/9/9 2:14:29 阅读次数:
字体:[ ] 我要投稿

现在ASP网页在上传图片时大部分都是用无组件上传,把图片上传到一个文件夹,然后把路径保存到数据库一个字段中,那么在删除记录时只是把相应的数据库记录删除掉了,相关的图片还会保留在服务器的文件下,会有好多无用的图片占用着空间,想删除记录时把相关图片也删掉怎么办?以下代码可以实现,但必须服务器得支持FSO组件(大多数服务器都可用)

删除图片函数,当然也可以删除其它文件了

<%
Function DeleteFile(FileName)
FileName=server.MapPath(FileName) '必须转换成绝对路径的
dim Fso
Set Fso = CreateObject("scripting.filesystemobject")
if Fso.FileExists(Filename) then '判断文件是否存在
Fso.DeleteFile filename
end if
Set Fso = nothing
End Function
%>

比如说:你的数据库中news表字段PIC存放着图片路径,删除时不要用直接的删除sql语句了,那样无法获取PIC值

<%
id=request("id")
set rs=server.createobject("adodb.recordset")
sql="select * from news where id="&id
rs.open sql,conn,1,3
DeleteFile(rs("pic"))
rs.delete
rs.update
rs.close
set rs=nothing
%>

如果批量删除记录可以做循环调用DeleteFile函数

<%
id=request("id")
set rs=server.createobject("adodb.recordset")
sql="select * from news where id in('"&id&"')'不止一个ID
rs.open sql,conn,1,3
do while not rs.eof
DelFile(rs("pic"))
rs.delete
rs.movenext
loop
rs.update
rs.close
set rs=nothing
%>

本删除适合表中PIC字段只存放一张图片的情况下删除文章同时删除图片,如果多个字段中存放图片,可以在DelFile(rs("pic"))接着加DelFile(rs("pic1")),DelFile(rs("pic2"))。

  • 上一篇文章:
  • 下一篇文章:
  • 关于我们 - 联系我们 - 广告服务 - 在线投稿 - 友情链接 - 网站地图 - 版权声明
    CopyRight 2008-2010, CWYDESIGN.COM - 畅无忧设计, Inc. All Rights Reserved
    滇ICP备09005765号