23. juli 2002 - 12:25
Der er
15 kommentarer og 1 løsning
Too few parameters. Expected 1.
Jeg sletter nogle poster i db, men jeg får fejlen: DelItems = Request.Form("slet").Count if (DelItems >= 1) then For i = 1 To DelItems sql = "DELETE FROM tbl_emails WHERE id="&Request.Form("slet")(i) conn.Execute sql sql2 = "DELETE FROM tbl_types WHERE id="&Request.Form("slet")(i) conn.Execute sql2 Next else Response.redirect "dfsdf.asp" end if Dog sletter den alligevel!
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
DelItems = Request.Form("slet").Count if (DelItems >= 1) then For i = 1 To DelItems sql = "DELETE FROM tbl_emails WHERE [id]="&Request.Form("slet")(i) conn.Execute sql sql2 = "DELETE FROM tbl_types WHERE [id]="&Request.Form("slet")(i) conn.Execute sql2 Next else Response.redirect "dfsdf.asp" end if Hvad indhold ligger der i variablen "i"? //>Rune
ikke andet end i = 1 ! Hvis der er en anden måde, så kom med den!
Virkede det ikke med at sætte [ og ] rundt om? //>Rune
Er ID et autonumneringsfelt -eller hvilken database bruger du? //>Rune
Eller hvilken type er feltet ID? //>Rune
Det er en access db. Det er autonummerering i den ene, og tal i den anden!
Hmm... Prøv lige giv mig resultatet af Request.Form("slet")(i) <- altså hvad det indeholder! //>Rune
Der er vist et problem: Hvis jeg udskriver 2 checkbokse som er checked, får jeg: f.eks 2942Slet dvs. id 29 og 42 Hvad fanden sker der?
23. juli 2002 - 13:07
#10
Jamen prøv lige at vent... vil det sige at din Request.Form() udskriver tekst? For så skal du gøre som følgende: DelItems = Request.Form("slet").Count if (DelItems >= 1) then For i = 1 To DelItems sql = "DELETE FROM tbl_emails WHERE id='" & Request.Form("slet")(i) & "'" conn.Execute sql sql2 = "DELETE FROM tbl_types WHERE id='" & Request.Form("slet")(i) & "'" conn.Execute sql2 Next else Response.redirect "dfsdf.asp" end if //>Rune
23. juli 2002 - 13:07
#11
når jeg udskriver Request.Form("slet").Count får jeg et tal der er 1 nummer højere end det skal være!
23. juli 2002 - 13:10
#12
Hm okay.. Men prøv lige at skriv: Response.Write(Request.Form("slet")(i)) Hvad kommer der ud af det? //>Rune
23. juli 2002 - 13:12
#13
f.eks 2942Slet
23. juli 2002 - 13:16
#14
jamen du er jo nødt til at ha fjernet slet, da det er bogstaver... Prøv med det her: DelItems = Request.Form("slet").Count if (DelItems >= 1) then strLength = Len(Request.Form("slet")(i)) -4 For i = 1 To DelItems sql = "DELETE FROM tbl_emails WHERE id=" & Left(Request.Form("slet")(i), strLength) conn.Execute sql sql2 = "DELETE FROM tbl_types WHERE id=" & Left(Request.Form("slet")(i), strLength) conn.Execute sql2 Next else Response.redirect "dfsdf.asp" end if //>Rune
23. juli 2002 - 13:20
#15
Jeg har fundet problemet! alt jeg havde lavet fra start var rigtigt, undtagen, at man skal sige: DelItems = Request.Form("slet").Count-1 Så virker det.
23. juli 2002 - 13:22
#16
Fair nok :-) Thx 4 Poinz //>Rune
Kurser inden for grundlæggende programmering