Avatar billede no_doubt Nybegynder
24. juni 2006 - 15:05 Der er 7 kommentarer og
1 løsning

slette både fra db og fysisk

Jeg vil gerne om en ville vise (evt vise) hvordan jeg både får slettet en fil (muligvis klargjort til at kunne slette flere senere)

Jeg får pt. den slette fra db ved at markere en radio, og udføre en request på id'et i sql'en og sletter på den måde. Men filen ligger stadig på serveren fysisk.

i databasen ligger både mappens navn, og filens navn..
så kunne man bruger fso og slette der der, evt ved først at lave en select, slette fysisk og senere i db... heelp..
Avatar billede Slettet bruger
24. juni 2006 - 15:49 #1
jamen det kan du da... inden du sletter i databasen skal du lave en select hvor du henter mappens navn og filens navn...
- og så skal du slette fra databasen og dernæst sletter du filen...

Se her: http://www.w3schools.com/asp/met_deletefile.asp

\Dan
Avatar billede no_doubt Nybegynder
24. juni 2006 - 16:34 #2
hvorfor den vej rundt ?
Avatar billede Slettet bruger
24. juni 2006 - 16:47 #3
tjae... hvilken vej rundt skulle man ellers tage?

- vi er nød til at skulle kende mappens navn og filens navn på den fil der skal slettes - så det er vi nød til at slå op i databasen først via select...

- dernæst betyder det egentlig ikke så meget om vi sletter i databasen først eller om vi sletter filen først... men begge dele skal jo gøres...

\Dan
Avatar billede no_doubt Nybegynder
24. juni 2006 - 17:04 #4
hvad er der galt i denne

set slet = fso.getfile(server.mappath("brugere\" & rs2("brugerid") & "\" & rs2("fil") & ""))
Avatar billede no_doubt Nybegynder
24. juni 2006 - 17:24 #5
Hvad er der galt med:
sql2 = "SELECT * FROM billeder WHERE id = "& request.form("C1") & ""
set rs2 = Conn.Execute(sql2)

Sql = "delete * from billeder where id = "& request.form("C1") & ""
Set rs = Conn.Execute(sql)

Set fso = Server.CreateObject("Scripting.FilesystemObject")
fso.DeleteFile (Server.Mappath("brugere\"& rs2("bruger") & "\" & rs2("fil")))
Avatar billede Slettet bruger
24. juni 2006 - 18:48 #6
- der er formentligt intet glat - dog vil jeg anbefale du gør sådan her i stedet:
sql2 = "SELECT * FROM billeder WHERE id = "& request.form("C1") & ""
set rs2 = Conn.Execute(sql2)
sti = Server.Mappath("brugere\"& rs2("bruger") & "\" & rs2("fil"))
Sql = "delete * from billeder where id = "& request.form("C1") & ""
Set rs = Conn.Execute(sql)

Set fso = Server.CreateObject("Scripting.FilesystemObject")
fso.DeleteFile (sti)

\Dan
Avatar billede no_doubt Nybegynder
24. juni 2006 - 21:33 #7
takker... svar?
Avatar billede Slettet bruger
24. juni 2006 - 21:58 #8
- det var så lidt...

her et svar...

\Dan
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