Avatar billede hede98 Nybegynder
16. maj 2004 - 17:14 Der er 9 kommentarer og
1 løsning

Slet fil på web-server

Hej.
Nedenstående kode sletter nogle poster fra min database, hver post har tilknyttet et bestemt filnavn (billeder) på webserveren. Når jeg trykker på slet, skal den som nu slette posten samt slette det tilhørende billede på webserveren. Er der nogle som kan hjælpe med at lave slette funktionen, så den også sletter filen.

<% if request("mode") = "gem" then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../db/auktion.mdb")
Conn.Open DSN

set rskunder = server.createobject("adodb.recordset")
rskunder.open ("delete * FROM salgsliste WHERE id=" & request("id")), DSN, 1, 3


set rskunder = Nothing
Response.Redirect("?liste=" & request("liste") & "")
rskunder.Close
end if
%>

<% if request("mode") = "slet" then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../db/auktion.mdb")
Conn.Open DSN

set rskunder = server.createobject("adodb.recordset")
rskunder.open ("delete * FROM salgsliste where liste=" & request("liste")), DSN, 1, 3


set rskunder = Nothing
Response.Redirect("slet-alt_auktion_liste.asp")
rskunder.Close
end if
%>
Avatar billede ellebaek Nybegynder
16. maj 2004 - 17:19 #1
<% if request("mode") = "gem" then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../db/auktion.mdb")
Conn.Open DSN

set rskunder = server.createobject("adodb.recordset")
rskunder.open ("delete * FROM salgsliste WHERE id=" & request("id")), DSN, 1, 3


set rskunder = Nothing
Response.Redirect("?liste=" & request("liste") & "")
rskunder.Close
end if
%>

<% if request("mode") = "slet" then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../db/auktion.mdb")
Conn.Open DSN

set rskunder = server.createobject("adodb.recordset")
sql = "select * from salgsliste where liste=" & request("liste")
set rs = Conn.execute(sql)

'*** Sletter filen (her skal rettes lidt)***
set filesys = CreateObject ("Scripting.FileSystemObject")
set file = filesys.GetFile(server.mappath(rs.fields("billede")))
file.Delete

set rs = nothing

rskunder.open ("delete * FROM salgsliste where liste=" & request("liste")), DSN, 1, 3

set rskunder = Nothing
Response.Redirect("slet-alt_auktion_liste.asp")
rskunder.Close
end if
%>

Husk at rette denne linie til..
set file = filesys.GetFile(server.mappath(rs.fields("billede")))
Skal der slettes både i mode=gem og mode=slet ..?
Avatar billede hede98 Nybegynder
16. maj 2004 - 19:55 #2
hvad skal der rettes til....
Avatar billede ellebaek Nybegynder
16. maj 2004 - 21:20 #3
altså så skal rette til med hensyn til stien i databasen..
Ved ikke hvordan den ser ud, men den skal passe i forhold til server.mappath, og samtidig skal du rette navnet på feltet i databasen..
Avatar billede hede98 Nybegynder
17. maj 2004 - 08:01 #4
Server.MapPath("../../db/auktion.mdb")
feltet hedder billede...
Avatar billede ellebaek Nybegynder
17. maj 2004 - 22:01 #5
hvor ligger billedet i forhold til den fil du vil slette fra..?
Avatar billede hede98 Nybegynder
17. maj 2004 - 22:21 #6
db området har jeg kun adgang til via asp kode, ellers ikke.
billedet ligger i en mappe under root ../img/ hvor jeg har skrive og slette rettigheder.
Avatar billede ellebaek Nybegynder
17. maj 2004 - 22:29 #7
<% if request("mode") = "gem" then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../db/auktion.mdb")
Conn.Open DSN

set rskunder = server.createobject("adodb.recordset")
rskunder.open ("delete * FROM salgsliste WHERE id=" & request("id")), DSN, 1, 3


set rskunder = Nothing
Response.Redirect("?liste=" & request("liste") & "")
rskunder.Close
end if
%>

<% if request("mode") = "slet" then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../db/auktion.mdb")
Conn.Open DSN

set rskunder = server.createobject("adodb.recordset")
sql = "select * from salgsliste where liste=" & request("liste")
set rs = Conn.execute(sql)

'*** Sletter filen (her skal rettes lidt)***
set filesys = CreateObject ("Scripting.FileSystemObject")
set file = filesys.GetFile(server.mappath("../img/" & rs.fields("billede")))
file.Delete

set rs = nothing

rskunder.open ("delete * FROM salgsliste where liste=" & request("liste")), DSN, 1, 3

set rskunder = Nothing
Response.Redirect("slet-alt_auktion_liste.asp")
rskunder.Close
end if
%>

Så vil jeg tro det her virker..
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:01 #8
hej Hede
Virkede det..?
Avatar billede ellebaek Nybegynder
24. maj 2004 - 11:28 #9
Lidt response ville måske være på sin plads..?
Avatar billede hede98 Nybegynder
12. marts 2010 - 08:34 #10
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester