Problem med sletning

Tags:    asp

Hej i nedenstående kode laver den exception occurred fejl når jeg prøver at slette data/billeder fra databasen som ikke eksisterer (logisk nok) men hvordan får jeg lavet det sådan at den ikke gør dette?

if mode = "del" Then

SQL = "SELECT * FROM andelsboliger_typer WHERE andelsbolig_id = " & request("id")
Set x = Conn.Execute ( SQL )
dim fs,f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.GetFile("C:\Websites\upload\andelsboliger\" & x("filnavn") & "")
f.Delete
set f=nothing
set fs=Nothing

SQL = "SELECT * FROM andelsboliger_projektspecifikation WHERE andelsbolig_id = " & request("id")
Set x = Conn.Execute ( SQL )
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.GetFile("C:\Websites\upload\andelsboliger\" & x("filnavn") & "")
f.Delete
set f=nothing
set fs=Nothing

SQL = "SELECT * FROM andelsboliger_billeder WHERE andelsbolig_id = " & request("id")
Set x = Conn.Execute ( SQL )
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.GetFile("C:\Websites\upload\andelsboliger\" & x("filnavn") & "")
f.Delete
set f=nothing
set fs=Nothing

SQL = "DELETE FROM andelsboliger WHERE andelsbolig_id = " & request("id")
Conn.Execute ( SQL )

SQL = "DELETE FROM andelsboliger_typer WHERE andelsbolig_id = " & request("id")
Conn.Execute ( SQL )
SQL = "DELETE FROM andelsboliger_projektspecifikation WHERE andelsbolig_id = " & request("id")
Conn.Execute ( SQL )
SQL = "DELETE FROM andelsboliger_billeder WHERE andelsbolig_id = " & request("id")
Conn.Execute ( SQL )

Response.redirect "andelsboliger.asp"
end if



6 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Fold kodeboks ind/udKode 


Som sagt koder jeg i ASP.NET og da det her er ASP.OLD, er ovenstående kode baseret på forskellige google-søgninger.
Det er ikke testet, så du må prøve dig lidt frem. Jeg garanterer ikke at koden virker.



Indlæg senest redigeret d. 22.09.2009 15:45 af Bruger #13488
Nej, du får en fejl fordi du forsøger at slette en fil fra filsystemet der ikke eksistere. Ikke fra databasen.

Du skal lave et tjek på om filen eksistere før du forsøger at slette den.

Pseudo:

If objFSO.FileExists("din_sti") Then
SLET
Else
SLET IKKE
End If



Prøv at kigge på noget try-catch, ellers så tjek om data'en findes i databasen, før du sletter.



Prøv at kigge på noget try-catch, ellers så tjek om data'en findes i databasen, før du sletter.


Hvordan laver jeg et tjek i ovenstående kode?



Du kan prøve med noget SQL COUNT (http://www.w3schools.com/SQL/sql_func_count.asp) og så lave noget der ligner dette:
Fold kodeboks ind/udKode 


Jeg kan ikke rådgive dig bedre end ovenstående, da jeg normalt koder i ASP.NET med VB.NET.



Indlæg senest redigeret d. 21.09.2009 11:45 af Bruger #13488
Hej Jeppe hvordan laver jeg et tjek i denne kode?



t