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 er der nogen der kan sætte et tjek ind i nedenstående kode?
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 )
Dør den i din f.Delete - eller er det når du eksekverer dit "DELETE FROM" databasekald?
Den burde ikke fejle i dit databasekald, da den bare vil returnere 0 rows deleted (eller lignende).
Hvis det er i din "f.Delete" - kunne du lave en "IF f.Exist" eller noget tilsvarende.
Hvis du beder om et sted at sætte et check ind i ovennævnte kode, så ville jeg nok sige at du skulle gøre det "alle steder"! Du er virkelig nødt til at review'e dine databasekald. Din kode er så åben for sql injection attacks, at det er ufatteligt, at du stadig har din database :)
Hej bvli det ved jeg ikke helt... Nu har jeg prøvet at smide: if f.exist then f.Delete else end if
ind.. men det funker stadig ikke.. Umiddelbart skal der vel være noget tjek ved de sidste 3? DELETE FROM andelsboliger_typer DELETE FROM andelsboliger_projektspecifikation DELETE FROM andelsboliger_billeder
Jeg bliver nok nødt til at få hele fejlmeddelelsen inden jeg kan sige noget mere specifikt.
Mine udtalelser omkring check af dine sql-statements går mere på, at du Concat'er dine strenge i stedet for at bruge databaseparametre. En ondsindet person kunne jo skrive noget andet i din "&id=" parameter. Hvis man nu skrev "12 OR (1 = 1);DROP TABLE andelsboliger_billeder; --" i url'n, så kunne man forestille sig, at du var på den. Men det var nu et sidespring.
Try putting an error routine in your code and if you dont want to do that then just put this as your first line of code so that you ignore the error (not always smart to do)
On Error Resume Next
Synes godt om
Ny brugerNybegynder
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.