實現刪除記錄同時刪除圖片,一般的情況為了性能都是用編輯器的同時將文章中的圖片,保存在一個字段裡面,多個圖片用逗號分開,方便後期的刪除處理。第一種方法:這個是刪除單一欄位圖片的程式碼。比較簡單,因為圖片欄位已經預先存在資料庫表格的bookpic的欄位裡面了。
複製代碼代碼如下:
<!--#include file=conn.asp-->
<%
fileid=trim(request(fileid))'要刪除的記錄ID
set rs=server.createobject(adodb.recordset)
sql=select * from shop_books where bookid=3090
rs.open sql,conn,3,2
upfile=rs(bookpic) '帶路徑和檔名
set fso=server.CreateObject(scripting.filesystemobject)
fso.deletefile(server.MapPath(upfile))
set fso=nothing
rs.delete
rs.update
rs.close
set rs=nothing
%>
第二種方法:對於多圖的
asp程式下大家在加入資訊的時候可以用ewebeditor,這個可以將文章種的圖片擷取後放到一個欄位裡面。
複製代碼代碼如下:
Id=Request(Id)
If Id= Then
Response.Write(<script>alert('刪除操作失敗:請選擇需要刪除的資訊!');hitory.go(-1);</script>)
Else
Id=Split(Id,,)
For i=0 to UBound(Id)
set oRs=SerVer.CreateObject(Adodb.recordset)
sSql = SELECT D_SavePathFileName FROM &data& WHERE ID=&id(i)&
oRs.Open sSql, Conn, 0, 1
If Not oRs.Eof Then
asSavePathFileName = oRs(D_SavePathFileName)
Else
asSavePathFileName=
End If
oRs.Close
Set oRs=Nothing
Dim aSavePathFileName
if len(aSavePathFileName)>0 then
aSavePathFileName = Split(asSavePathFileName, |)
Dim n
For n = 0 To UBound(aSavePathFileName)
' 按路徑檔名刪除文件
Call DoDelFile(aSavePathFileName(n))
Next
'刪除文章www.vevb.com
Conn.Execute(delete from Article where id=&id(i)&)
Next
end if
Sub DoDelFile(sPathFile)
'On Error Resume Next
Dim oFSO
Set oFSO = Server.CreateObject(Scripting.FileSystemObject)
if objFSO.fileExists(Server.MapPath(sPathFile)) then
oFSO.DeleteFile(Server.MapPath(sPathFile))
end if
Set oFSO = Nothing
End Sub