Avatar billede k.andersen Nybegynder
09. juli 2004 - 22:10 Der er 30 kommentarer og
1 løsning

Slette billede med fso

hejsa...

Jeg sidder i øjeblikket og roder med noget kode, der skal slette en post i database og samtidigt fjerne et billede.
Jeg er absolut ikke en haj til fso, så det er noget kode der er hugget og sat sammen hist og her :) og ser således ud:

<%
strSQL = "DELETE * FROM Avlshanner WHERE Hund_ID= " & Request.QueryString("id")

Conn.Execute(strSQL)
set fso = CreateObject("Scripting.FilesystemObject")
file=(Server.MapPath("../billeder/hunde/") & "\" & Billedenavn)
fso.DeleteFile file
%>

Men den kommer med følgende fejl: Der opstod en Microsoft VBScript-kørselsfejl (0x800A0035)
Filen blev ikke fundet

Den siger det er i linie 15, som er den sidste af dem (fso.DeleteFile file)

Er der nogen der kan hjælpe?

mvh.
Kasper
Avatar billede medions Nybegynder
09. juli 2004 - 22:16 #1
Prøv sådan her:

<%
strSQL = "DELETE * FROM Avlshanner WHERE Hund_ID= " & Request.QueryString("id")

Conn.Execute(strSQL)
set fso = CreateObject("Scripting.FilesystemObject")
file= Server.MapPath("../billeder/hunde/") & Billedenavn
fso.DeleteFile file
%>

//>Rune
Avatar billede medions Nybegynder
09. juli 2004 - 22:16 #2
Sorry:

<%
strSQL = "DELETE * FROM Avlshanner WHERE Hund_ID= " & Request.QueryString("id")

Conn.Execute(strSQL)
set fso = CreateObject("Scripting.FilesystemObject")
file= Server.MapPath("../billeder/hunde/" & Billedenavn)
fso.DeleteFile file
%>

//>Rune
Avatar billede k.andersen Nybegynder
09. juli 2004 - 22:22 #3
Den kommer ikke med nogen fejl nu, men den sletter ikke billedet?
Avatar billede medions Nybegynder
09. juli 2004 - 22:28 #4
Prøv lige med denne kode:

<%
dim fs
Set fs=Server.CreateObject("Scripting.FileSystemObject")
fs.CreateTextFile(Server.MapPath("../billeder/hunde/" & Billedenavn)True)
if fs.FileExists(Server.MapPath("../billeder/hunde/" & Billedenavn)then
  fs.DeleteFile(Server.MapPath("../billeder/hunde/" & Billedenavn)
end if
set fs=nothing
%>

//>Rune
Avatar billede k.andersen Nybegynder
09. juli 2004 - 22:35 #5
den kommer med denne fejl:

Tegnet ')' var ventet
/kenneljenager.dk/admin/slet_avlshanner.asp, line 12, column 68
fs.CreateTextFile(Server.MapPath("../billeder/hunde/" & Billedenavn)True)
-------------------------------------------------------------------^
Avatar billede medions Nybegynder
09. juli 2004 - 22:43 #6
<%
dim fs
Set fs=Server.CreateObject("Scripting.FileSystemObject")
fs.CreateTextFile(Server.MapPath("../billeder/hunde/" & Billedenavn),True)
if fs.FileExists(Server.MapPath("../billeder/hunde/" & Billedenavn)then
  fs.DeleteFile(Server.MapPath("../billeder/hunde/" & Billedenavn)
end if
set fs=nothing
%>

//>Rune
Avatar billede k.andersen Nybegynder
09. juli 2004 - 22:46 #7
sorry.....

Cannot use parentheses when calling a Sub

/admin/slet_avlshanner.asp, line 12

fs.CreateTextFile(Server.MapPath("../billeder/hunde/" & Billedenavn),True)
--------------------------------------------------------------------------^
Avatar billede medions Nybegynder
09. juli 2004 - 22:48 #8
<%
dim fs
Set fs=Server.CreateObject("Scripting.FileSystemObject")
FileName=Server.MapPath("../billeder/hunde/" & Billedenavn)
fs.CreateTextFile(FileName,True)
if fs.FileExists(FileName)then
  fs.DeleteFile(FileName)
end if
set fs=nothing
%>
Avatar billede k.andersen Nybegynder
09. juli 2004 - 22:50 #9
Cannot use parentheses when calling a Sub

/admin/slet_avlshanner.asp, line 13

fs.CreateTextFile(FileName,True)
--------------------------------^
Avatar billede ellebaek Nybegynder
09. juli 2004 - 23:03 #10
hmm...

runes første svar burde godt nok virke..
Men du kan eventuelt prøve sådan her i stedet:

<%
strSQL = "DELETE * FROM Avlshanner WHERE Hund_ID= " & Request.QueryString("id")

Conn.Execute(strSQL)
Set fso = CreateObject("Scripting.FileSystemObject")
file= Server.MapPath("../billeder/hunde/" & Billedenavn)
fso.DeleteFile file,true
Set fso = Nothing
%>

Men hvor definere du din variabel Billednavn..?
Avatar billede k.andersen Nybegynder
09. juli 2004 - 23:08 #11
den du lige har lavet kommer ikke med fejl, men slet ikke billedet!

øhhhh.....definerer.....det gør nok ikke, er som sagt ikke en haj! Men Billedenavn er navnet på den post i tabellen som indeholder filnavnet på billedet.
Avatar billede ellebaek Nybegynder
09. juli 2004 - 23:13 #12
okay... Så skal det omformuleres lidt..

Så skal din kode nok nærmere være noget i stilen af:


<%
set rs = server.createobject("adodb.connection")
rs.open ***din forbindelse til databasen!!!
strSQL = "DELETE * FROM Avlshanner WHERE Hund_ID= " & Request.QueryString("id")
sql = "select Billedenavn from Avlshanner where Hund_ID = " & request.querystring("id")
set rs = Conn.execute(sql)
Conn.Execute(strSQL)
Set fso = CreateObject("Scripting.FileSystemObject")
file= Server.MapPath("../billeder/hunde/" & rs("Billedenavn"))
fso.DeleteFile file,true
Set fso = Nothing
rs.close
set rs = nothing
%>

der skal du så have en kolonne i tabellen der hedder billedenavn. Den henter du værdien ud af, og derefter sletter du..
HUSK:: at rette linien hvor du åbner den nye connection (rs.open)
Avatar billede ellebaek Nybegynder
09. juli 2004 - 23:17 #13
Hovsa.. Lige en brøler fra min side.. Det her burde kunne gøre det:

<%
strSQL = "DELETE * FROM Avlshanner WHERE Hund_ID= " & Request.QueryString("id")
sql = "select Billedenavn from Avlshanner where Hund_ID = " & request.querystring("id")
set rs = Conn.execute(sql)
Conn.Execute(strSQL)
Set fso = CreateObject("Scripting.FileSystemObject")
file= Server.MapPath("../billeder/hunde/" & rs("Billedenavn"))
fso.DeleteFile file,true
Set fso = Nothing
set rs = nothing
%>
Avatar billede k.andersen Nybegynder
09. juli 2004 - 23:19 #14
Er dette rigtigt med den nye connection?

set rs = server.createobject("adodb.connection")
rs.open "Avlshanner", conn, 2, 2
strSQL = "DELETE * FROM Avlshanner WHERE Hund_ID= " & Request.QueryString("id")
sql = "select Billedenavn from Avlshanner where Hund_ID = " & request.querystring("id")
set rs = Conn.execute(sql)
Conn.Execute(strSQL)
Set fso = CreateObject("Scripting.FileSystemObject")
file= Server.MapPath("../billeder/hunde/" & rs("Billedenavn"))
fso.DeleteFile file,true
Set fso = Nothing
rs.close
set rs = nothing

hvis det er, så kommer den med følgende fejl:
Undtagelse opstod.
/kenneljenager.dk/admin/slet_avlshanner.asp, line 17
linie 17 er: file= Server.MapPath("../billeder/hunde/" & rs("Billedenavn"))
Avatar billede ellebaek Nybegynder
09. juli 2004 - 23:20 #15
du skal ikke lige tænkte på det jeg skrev før :-)

Havde som sagt lavet en brøler..

Se hellere: 09/07-2004 23:17:16
Avatar billede k.andersen Nybegynder
09. juli 2004 - 23:20 #16
vi prøver igen....øjeblik!
Avatar billede k.andersen Nybegynder
09. juli 2004 - 23:22 #17
ØV....den siger følgende:

Undtagelse opstod.
/kenneljenager.dk/admin/slet_avlshanner.asp, line 15
linie 15: file= Server.MapPath("../billeder/hunde/" & rs("Billedenavn"))
Avatar billede ellebaek Nybegynder
09. juli 2004 - 23:24 #18
hmm...

prøv lige det her, og se om det er det rigtige billedenavn den skriver ud...

<%
strSQL = "DELETE * FROM Avlshanner WHERE Hund_ID= " & Request.QueryString("id")
sql = "select Billedenavn from Avlshanner where Hund_ID = " & request.querystring("id")
set rs = Conn.execute(sql)
response.write rs("billedenavn")
'Conn.Execute(strSQL)
'Set fso = CreateObject("Scripting.FileSystemObject")
'file= Server.MapPath("../billeder/hunde/" & rs("Billedenavn"))
'fso.DeleteFile file,true
'Set fso = Nothing
'set rs = nothing
%>
Avatar billede k.andersen Nybegynder
09. juli 2004 - 23:26 #19
jo, den er go nok!
Avatar billede ellebaek Nybegynder
09. juli 2004 - 23:26 #20
hmm...

prøv så:

<%
strSQL = "DELETE * FROM Avlshanner WHERE Hund_ID= " & Request.QueryString("id")
sql = "select Billedenavn from Avlshanner where Hund_ID = " & request.querystring("id")
set rs = Conn.execute(sql)
response.write rs("billedenavn")
'Conn.Execute(strSQL)
Set fso = CreateObject("Scripting.FileSystemObject")
file= Server.MapPath("../billeder/hunde/" & rs("Billedenavn"))
fso.DeleteFile file,true
Set fso = Nothing
'set rs = nothing
%>
Avatar billede k.andersen Nybegynder
09. juli 2004 - 23:27 #21
Tilladelse nægtet
/kenneljenager.dk/admin/slet_avlshanner.asp, line 17

linie 17: fso.DeleteFile file,true
Avatar billede k.andersen Nybegynder
09. juli 2004 - 23:28 #22
har givet tilladelse nu!
Avatar billede ellebaek Nybegynder
09. juli 2004 - 23:28 #23
virker det når du har tilladelse..?
Avatar billede k.andersen Nybegynder
09. juli 2004 - 23:29 #24
nu siger den:

Filen blev ikke fundet
/kenneljenager.dk/admin/slet_avlshanner.asp, line 17
Avatar billede ellebaek Nybegynder
09. juli 2004 - 23:36 #25
er den slettet..?
Eller ligger den der stadig ?
Avatar billede k.andersen Nybegynder
09. juli 2004 - 23:37 #26
ahhh......ellebaek, jeg tror lige du er blevet forfremmet til Gud!
Avatar billede ellebaek Nybegynder
09. juli 2004 - 23:38 #27
hurra...

Er jeg så ikke længere Eriks højre hånd :-)
hvis det virker, så skal du blot lige tilføje de sidste linier..

Altså:

<%
strSQL = "DELETE * FROM Avlshanner WHERE Hund_ID= " & Request.QueryString("id")
sql = "select Billedenavn from Avlshanner where Hund_ID = " & request.querystring("id")
set rs = Conn.execute(sql)
Set fso = CreateObject("Scripting.FileSystemObject")
file= Server.MapPath("../billeder/hunde/" & rs("Billedenavn"))
fso.DeleteFile file,true
Conn.Execute(strSQL)
Set fso = Nothing
'set rs = nothing
%>
Avatar billede k.andersen Nybegynder
09. juli 2004 - 23:41 #28
hehe....nope, ikke længere!

Top Nice, smid et svar så du kan få dine point! :)
Avatar billede ellebaek Nybegynder
09. juli 2004 - 23:43 #29
Jeg smider et svar.. :-)
Og så vil jeg også hoppe over i min seng da...!
Avatar billede ellebaek Nybegynder
09. juli 2004 - 23:44 #30
Men jeg har mokket Erik ned fra olympen...! Det er vigtigt :-)
Avatar billede k.andersen Nybegynder
09. juli 2004 - 23:46 #31
Jeg kan godt forstå du er stolt af at få mokket ham ned - det er en stor ting *G* Sov godt!
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