Avatar billede dominodevil Nybegynder
22. september 2004 - 14:25 Der er 8 kommentarer og
1 løsning

Hjælp med ASP Sætning!

Jeg har denne sætning her, som sletter en fil på en server...

Den den virker ikke helt, hvad er der galt???

Det er denne linje her der er noget galt med:
fil = Server.Mappath("../images/" & '=rsPicture("name")' & ")

Her er hele koden:
<%
If Session("login") <> "JA" Then
  Response.Redirect "nologin.asp"
End If

Dim ADO_Connection
Dim rsPicture
Dim SQL_STRING

set ADO_Connection = server.Createobject("ADODB.Connection")
ADO_Connection.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../cgi-data/db.mdb")

set rsPicture= server.Createobject("ADODB.Recordset")
SQL_String = "Select * from images WHERE ID=" & Request.QueryString("ID")
rsPicture.open SQL_String, ADO_Connection

rsPicture.LockType = 3
rsPicture.Open SQL_STRING, ADO_Connection
rsPicture.Delete

Set fso=Server.CreateObject("Scripting.FileSystemObject")
'Her vælges hilken fil der skal slettes
fil = Server.Mappath("../images/" & '=rsPicture("name")' & ")
'Tjek om filen findes før den slettes for at undgå fejl
if fso.FileExists(fil) then
  fso.DeleteFile(fil)
end if
set fso=nothing

rsPicture.close
set rsPicture= Nothing
set ADO_Connection = Nothing
Response.Redirect "pic_show.asp"%>
Avatar billede aspbuilder Nybegynder
22. september 2004 - 14:28 #1
linien skal nok se sådan ud:

fil = Server.Mappath("../images/" & rsPicture("name") & "")
Avatar billede dominodevil Nybegynder
22. september 2004 - 14:37 #2
Den kommer og brikker sig over denne linje her:

error '80020009'
Exception occurred.
/admin/picture_deleted.asp, line 34

fil = Server.Mappath("../images/" & rsPicture("name") & "")
Avatar billede dominodevil Nybegynder
22. september 2004 - 14:39 #3
Dim ADO_Connection
Dim rsPicture
Dim SQL_STRING
Dim DeletePicture

DeletePicture= CLng(Request.QueryString("ID"))
set ADO_Connection = server.Createobject("ADODB.Connection")
ADO_Connection.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../cgi-data/db.mdb")

set rsPicture= server.Createobject("ADODB.Recordset")
SQL_STRING= "SELECT images .* FROM images WHERE ID=" & DeletePicture

rsPicture.LockType = 3
rsPicture.Open SQL_STRING, ADO_Connection
rsPicture.Delete

Set fso=Server.CreateObject("Scripting.FileSystemObject")
'Her vælges hilken fil der skal slettes
fil = Server.Mappath("../images/" & rsPicture("name") & "")
'Tjek om filen findes før den slettes for at undgå fejl
if fso.FileExists(fil) then
  fso.DeleteFile(fil)
end if
set fso=nothing

rsPicture.close
set rsPicture= Nothing
set ADO_Connection = Nothing
Response.Redirect "pic_show.asp"%>
Avatar billede dominodevil Nybegynder
22. september 2004 - 14:40 #4
Den sletter godt nok selve Recordsetet, men ikke selve filen!
Avatar billede aspbuilder Nybegynder
22. september 2004 - 14:42 #5
Dim ADO_Connection
Dim rsPicture
Dim SQL_STRING
Dim DeletePicture

DeletePicture= CLng(Request.QueryString("ID"))
set ADO_Connection = server.Createobject("ADODB.Connection")
ADO_Connection.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../cgi-data/db.mdb")

set rsPicture= server.Createobject("ADODB.Recordset")
SQL_STRING= "SELECT images .* FROM images WHERE ID=" & DeletePicture

rsPicture.LockType = 3
rsPicture.Open SQL_STRING, ADO_Connection


Set fso=Server.CreateObject("Scripting.FileSystemObject")
'Her vælges hilken fil der skal slettes
fil = Server.Mappath("../images/" & rsPicture("name") & "")
'Tjek om filen findes før den slettes for at undgå fejl
if fso.FileExists(fil) then
  fso.DeleteFile(fil)
end if
set fso=nothing

rsPicture.Delete

rsPicture.close
set rsPicture= Nothing
set ADO_Connection = Nothing
Response.Redirect "pic_show.asp"%>

Har flyttet rsPicture.Delete så den først sletter recordset efter filen er slettet, da den jo trækker name ud.
Avatar billede dominodevil Nybegynder
22. september 2004 - 14:44 #6
Så er den denne her:
  fso.DeleteFile(fil)

Den siger:
Microsoft VBScript runtime  error '800a0046'
Permission denied
/admin/picture_deleted.asp, line 36
Avatar billede dominodevil Nybegynder
22. september 2004 - 14:53 #7
Skal man bruge login og password osv for at få lov til at slette sådan en fil?
Avatar billede dominodevil Nybegynder
22. september 2004 - 14:54 #8
Den ligger jo på en host www.bredan.net!
Avatar billede dominodevil Nybegynder
23. september 2004 - 16:13 #9
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