Avatar billede ivildrede Nybegynder
19. juni 2002 - 17:51 Der er 7 kommentarer og
1 løsning

Slette post i databasen og i filmappe

Hej,
Jeg håber i kan hjælpe mig med et problem,
I min database har jeg nogle poster der henviser til billeder i en filmappe -hvordan sletter jeg både posten i databasen og det billede der bliver henvist til ??

/ivildrede
Avatar billede kimiwan Nybegynder
19. juni 2002 - 18:01 #1
1) hent navnene på de filer, du vil sletet, ud af databasen
2) brug filesystemobject til at slette filerne en for en
  http://www.w3schools.com/asp/met_deletefile.asp
3) slet posterne i databasen

(eller gem filnavnene i et array og byt om på 2 og 3 - så kan du lukke din connection hurtigere)
Avatar billede ivildrede Nybegynder
19. juni 2002 - 19:41 #2
Ja det lyder logisk nok, men kan du vise et eksempel ?
Jeg er en ren "novice" i asp

/ivildrede
Avatar billede kimiwan Nybegynder
19. juni 2002 - 19:57 #3
Er ikke i humør til det lige nu, men jeg vil gerne anbefale dig en bog at læse:

http://www.wrox.com/ACON11.asp?WROXEMPTOKEN=166272Z05XyO6rSJDe1FUtsFXm&BOOKID=707&ISBN=1861003382

Det tager dig måske tre uger at læse den, men efter de tre uger, har du så også meget mere forstand på asp end de fleste af de, som stiller spørgsmål herinde, nogensinde vil få.
Avatar billede ivildrede Nybegynder
19. juni 2002 - 20:04 #4
Jeg takker for linket -jeg sætter mig ned og læser den bog.

/ivildrede
Avatar billede eagleeye Praktikant
19. juni 2002 - 22:30 #5
hvordan vælger du den record som skal slette?
Avatar billede ivildrede Nybegynder
19. juni 2002 - 22:43 #6
Hej eagleeye
-sådan her:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("xxxx.mdb")
Conn.Open DSN


strSQL = "SELECT * FROM billeder ORDER BY id"
Set rs = Conn.Execute(strSQL)

If Not rs.EOF Then

Do
  Response.Write "<p><a href='slet.asp?id=" & rs("id") & "'>" & rs("billednavn") & "</a></p>"
  rs.MoveNext

Loop While Not rs.EOF

End If


Conn.Close
Set Conn = Nothing
Response.Write "<p><a href='java script:history.back()'>Tilbage</a></p>"
%>
Avatar billede eagleeye Praktikant
19. juni 2002 - 23:09 #7
Her er en ide til hvordan dit slette scritp i filen slet.asp kunne se ud:

<%
id = Request.QueryString("id")
if id <> "" then
  Set Conn = Server.CreateObject("ADODB.Connection") 
  Set rs = Server.CreateObject("ADODB.Recordset")
  Set fs=Server.CreateObject("Scripting.FileSystemObject")
  Set Conn = Server.CreateObject("ADODB.Connection")
  DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
  DSN = DSN & "DBQ=" & Server.MapPath ("xxxx.mdb")
  Conn.Open DSN
  'Find navn på den fil som skal slettes
  strSQL = "SELECT * FROM billeder WHERE id = " & id
  Set rs = conn.Execute(strSQL)
  'Gem navnet i en variable, tjek lige for rigtigt kolonne navn
  billedeNavn = rs("billedsti")
  'Slet recorden med billede filen i
  strSQL = "DELETE FROM billeder WHERE id = " & id
  conn.Execute(strSQL)
  Conn.Close
 
  'Nu ved jeg ikke hvad billeNavn indeholder sti + navn ??
  'Eks kunne være sti + navn:  /images/navnet.jpg
  'Test om filen findes så slet den
 
  if fs.FileExists(Server.MapPath(billedeNavn)) then
    fs.DeleteFile Server.MapPath(billedeNavn)
  end if
 
  Set Conn = Nothing
  Set fs = Nothing
end if
%>
Avatar billede ivildrede Nybegynder
19. juni 2002 - 23:23 #8
Jeg takker, det virker bare

/ivildrede (ikke så meget mere ;-)
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