لتحقيق حذف السجلات وحذف الصور في نفس الوقت، ومن أجل الأداء بشكل عام، يتم استخدام المحرر لحفظ الصور الموجودة في المقالة في حقل، ويتم فصل الصور المتعددة بفواصل لتسهيل معالجة الحذف لاحقًا. الطريقة الأولى: هذا هو الكود لحذف الصور ذات الحقل الواحد. الأمر بسيط نسبيًا، لأن حقل الصورة موجود مسبقًا في حقل الصورة الكتابية بجدول قاعدة البيانات.
انسخ رمز الكود كما يلي:
<!--#include file=conn.asp-->
<%
fileid=trim(request(fileid))'معرف السجل المراد حذفه
تعيين rs=server.createobject(adodb.recordset)
sql=select * from shop_books حيث bookid=3090
rs.open SQL، كون، 3،2
upfile=rs(bookpic) 'مع المسار واسم الملف
تعيين fso=server.CreateObject(scripting.filesystemobject)
fso.deletefile(server.MapPath(upfile))
تعيين fso=لا شيء
rs.delete
rs.update
rs. Close
تعيين RS=لا شيء
%>
الطريقة الثانية: لصور متعددة
ضمن برنامج ASP، يمكنك استخدام ewebeditor عند إضافة المعلومات، حيث يمكن ذلك استخراج صور المقالة ووضعها في حقل.
انسخ رمز الكود كما يلي:
معرف=طلب(معرف)
إذا معرف = ثم
Response.Write(<script>alert('فشلت عملية الحذف: الرجاء تحديد المعلومات المراد حذفها!'); hitory.go(-1);</script>)
آخر
معرف = تقسيم (معرف،،)
من أجل i=0 إلى UBound(Id)
مجموعة oRs=Server.CreateObject(Adodb.recordset)
sSql = SELECT D_SavePathFileName من &data& حيث المعرف=&id(i)&
أورس.فتح سكل، كون، 0، 1
إذا لم يكن oRs.Eof ثم
asSavePathFileName = oRs(D_SavePathFileName)
آخر
asSavePathFileName=
نهاية إذا
أورس.إغلاق
تعيين oRs = لا شيء
تعتيم aSavePathFileName
إذا len(aSavePathFileName)>0 ثم
aSavePathFileName = سبليت (asSavePathFileName، |)
خافت ن
من أجل n = 0 إلى UBound(aSavePathFileName)
'حذف الملفات حسب اسم الملف المسار
استدعاء DoDelFile (aSavePathFileName (n))
التالي
"احذف المقالة www.vevb.com."
Conn.Execute(حذف من المقالة حيث id=&id(i)&)
التالي
نهاية إذا
Sub DoDelFile(sPathFile)
"عند حدوث خطأ في الاستئناف التالي."
خافت أوفسو
تعيين oFSO = Server.CreateObject(Scripting.FileSystemObject)
إذا كان objFSO.fileExists(Server.MapPath(sPathFile)) إذن
oFSO.DeleteFile(Server.MapPath(sPathFile))
نهاية إذا
ضبط oFSO = لا شيء
نهاية الفرعية