标题:[求助] asp关于删除图片,批量删除图片
取消只看楼主
虫子世界
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2009-10-15
结帖率:57.14%
已结贴  问题点数:20 回复次数:9 
[求助] asp关于删除图片,批量删除图片
这是删除单一产品文件

<%if request("act")="del" then
   sql="delete * from Product where shop_id="&request("shop_id")
   conn.execute sql
   response.redirect "shop_list.asp"
end if%>

我想让它把相关的图片也一起删除,怎么搞啊!

<img border='0' width='240' height='100' src="../Pic/<%=rs("pic")%>'这是图片一的路径及文件名。
<img border='0' width='240' height='100' src="../Pic/<%=rs("pic2")%>'这是图片二的路径及文件名。

这是删除分类及分类内的所有产品文件。

<%
if request("sort_id")<>"" or request("sort")<>"" then
'------------------------------------类别管理--------------------------------------------------
     select case request.form("options")
     case "del"
           sql="delete * from class where sort_id="&request("sort_id")&""    '删除总类
           conn.execute sql
           sql="delete * from product where sort_id="&request("sort_id")&""     '删除所属类货物
           conn.execute sql
           response.write "<script language=javascript>alert('成功删除ID为"&request("sort_id")&"的总类及相关产品!');location='class.asp';</script>"
     case "rename"
           sql="update class set sort='"&request("sort")&"' where sort_id="&request("sort_id")&""
           conn.execute sql
           response.write "<script language=javascript>alert('成功将ID为"&request("sort_id")&"更名为"&request("sort")&"!');location='class.asp';</script>"
     case "new"
           sql="insert into class(sort) values('"&request("sort")&"')"
           conn.execute sql
           response.write "<script language=javascript>alert('成功添加总类 "&request("sort")&"!');location='class.asp';</script>"
     end select
'------------------------------------管理结束---------------------------------------------------
end if
    sql="select * from class"
    set res=server.createobject("adodb.recordset")
    res.open sql,conn,1,1
%>

我想删除分类内的相关产品及图片。怎么搞定啊!





[ 本帖最后由 虫子世界 于 2009-10-29 09:13 编辑 ]
搜索更多相关主题的帖子: 删除 asp 批量 
2009-10-29 09:11
虫子世界
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2009-10-15
得分:0 
程序怎么写啊?


老大。。
2009-10-29 09:44
虫子世界
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2009-10-15
得分:0 
if request("act")="del" then
id=request("id")  
set rs=server.CreateObject("adodb.recordset")  
sql="Select * From product where shop_id="&request("shop_id")
rs.Open sql,conn,1,3  
a=rs("pic")  
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")  
if objFSO.fileexists(Server.MapPath(a)) then  
objFSO.deletefile Server.MapPath(a),true  
end if  
conn.execute("delete from product where shop_id="&request("shop_id"))  
response.redirect "shop_list.asp"
end if

单个删除,我这样写好用吗?
2009-10-29 11:13
虫子世界
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2009-10-15
得分:0 
不好意思!

我忘了说明一下。。后来,我pic2的相关程序都删除了,

所以只剩下一个图片了。。
2009-10-29 11:36
虫子世界
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2009-10-15
得分:0 
4楼的老大。。

set picRs = conn.execute("select pic from Product where shop_id="&request("shop_id")) '这是第20行。

pic2我删除了,库中没有pic2这个字段了。。


错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'shop_id=' 中。
/admin/class.asp, 第 20 行


我把第20行成:
set picRs = conn.execute("select pic from Product where sort_id="&request("sort_id")) '这是第20行。
后出见:
错误类型:
ADODB.Recordset (0x800A0CC1)
在对应所需名称或序数的集合中,未找到项目。
/admin/class.asp, 第 23 行

第23行为:Call delFile("../pic/"&picRs(1))

我把第23行删除后,
只能删除一条记录的图片。。没有
其它记录里的图没有一起删除啊。
还有。。当类里没有记录时也会出错。。怎么回事啊?


错误类型:
(0x80020009)
发生意外。
/admin/class.asp, 第 22 行
 Call delFile("../pic/"&picRs(0))   '这是第22行

[ 本帖最后由 虫子世界 于 2009-10-29 13:30 编辑 ]
2009-10-29 12:52
虫子世界
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2009-10-15
得分:0 
现在问题是,他只能删除一个图片,不能批量删除啊!

好像是删除的时候不能旋转删除图片。帮我再改改好吗?

'删除文件FSO支持  
Sub delFile(path)  
    On Error Resume Next  
    If path<>"" And Not IsNull(path) then  
        Set fso=Server.CreateObject("scripting.fileSystemobject")  
        If fso.FileExists(Server.Mappath(path)) then  
            fso.DeleteFile(Server.Mappath(path))  
        End If  
        Set fso=Nothing  
    End If  
End Sub
 
if request("sort_id")<>"" or request("sort")<>"" then  
'------------------------------------类别管理--------------------------------------------------  
     select case request.form("options")  
     case "del"  
           sql="delete * from class where sort_id="&request("sort_id")&""    '删除总类  
           conn.execute sql  
           '此处读取图片地址
           set picRs = conn.execute("select pic from Product where sort_id="&request("sort_id"))
           '调用删除sub
           Call delFile(picRs(0))
           '最好做下判断是否为空
           sql="delete * from product where sort_id="&request("sort_id")&""     '删除所属类货物  
           conn.execute sql  
               response.write "<script language=javascript>alert('成功删除ID为"&request("sort_id")&"的总类及相关产品!');location='class.asp';</script>"  
2009-10-29 15:43
虫子世界
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2009-10-15
得分:0 
'此处读取图片地址  
Set delRs = Server.Create("Adodb.Recordset")   '这是第22行
delRs.open "Select pic form Product where sort_id="&request("sort_id")
for i = 0 to delRs.recordCount
    Call delFile(delRs(0))
delRs.MoveNext
next
sql="delete * from product where sort_id="&request("sort_id")&""     '删除所属类货物   

错误类型:
Microsoft VBScript 运行时错误 (0x800A01B6)
对象不支持此属性或方法: 'Create'
/admin/class.asp, 第 22 行
2009-10-29 16:32
虫子世界
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2009-10-15
得分:0 
错误类型:
ADODB.Recordset (0x800A0E7D)
连接无法用于执行此操作。在此上下文中它可能已被关闭或无效。
/admin/class.asp, 第 23 行


delRs.open "Select pic form Product where sort_id="&request("sort_id")   '这是第23行。
2009-10-29 16:40
虫子世界
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2009-10-15
得分:0 
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC 驱动程序不支持所需的属性。
/admin/class.asp, 第 23 行


delRs.open "Select pic form Product where sort_id="&request("sort_id"),conn,1,1   '这是第23行。

老大啊,注要是我对asp根本就不懂啊!

我是下载一个程序下来改的啦!

烦您在帮我看看啊!
2009-10-29 17:14
虫子世界
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2009-10-15
得分:0 
<%  
'删除文件FSO支持  
Sub delFile(path)  
    On Error Resume Next  
    If path<>"" And Not IsNull(path) then  
        Set fso=Server.CreateObject("scripting.fileSystemobject")  
        If fso.FileExists(Server.Mappath(path)) then  
            fso.DeleteFile(Server.Mappath(path))  
        End If  
        Set fso=Nothing  
    End If  
End Sub
if request("sort_id")<>"" or request("sort")<>"" then  
'------------------------------------类别管理--------------------------------------------------  
     select case request.form("options")  
     case "del"  
           sql="delete * from class where sort_id="&request("sort_id")&""    '删除总类  
           conn.execute sql  
           '此处读取图片地址
           Set delRs = Server.CreateObject("Adodb.Recordset")
           delRs.open "Select pic from Product where sort_id="&request("sort_id"),conn,1,1  
           for i = 0 to delRs.recordCount
           Call delFile(delRs(0))

           delRs.MoveNext  '这是第26行。

           next
           sql="delete * from product where sort_id="&request("sort_id")&""     '删除所属类货物  
           conn.execute sql  
           response.write "<script language=javascript>alert('成功删除ID为"&request("sort_id")&"的总类及相关产品!');location='class.asp';</script>"  
     case "rename"  





错误类型:
ADODB.Recordset (0x800A0BCD)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
/admin/class.asp, 第 26 行



2009-10-29 18:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-290324-1-1.html




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

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