22. august 2004 - 23:20
Der er
25 kommentarer og 2 løsninger
Fejl i if-sætning
Hvad er der galt her, uanset hvad vidrestilles der til udbetalerror.asp if request.form("cash") < rs("saldo") then response.redirect ("udbetalerror.asp") end if
Annonceindlæg fra Computerworld
22. august 2004 - 23:21
#1
Prøv: if CLng(request.form("cash")) < CLng(rs("saldo")) then Eller med CInt i stedet for CLng..
22. august 2004 - 23:22
#2
22. august 2004 - 23:23
#3
Prøv at cInt'e dem. Altså sikre dig at de er konverteret til tal, så det ikke er tekststrenge du får ind. ~C
22. august 2004 - 23:39
#4
Nej, ikke tale det virker :-(
22. august 2004 - 23:39
#5
Prøver igen Det virker ikke.
22. august 2004 - 23:41
#6
Hvad kan der komme til at stå, i henholdvis "cash" og "saldo"? "saldo" skal være af typen "tal".. Giv et eksempel, på hvordan man bruger din kode..
22. august 2004 - 23:47
#7
Ganske enkelt - i feltet "cash" skrives et beløb i kroner, det samme gælder i tabellen "saldo" eks. if request.form ("cash") < rs("saldo") then response.redirect ("udbetalerror.asp") end if bliver til: if 25 < 18 then response.redirect ("udbetalerror.asp") end if
22. august 2004 - 23:49
#8
Bare for at være sikker.. du bruger method="post" i dit <form ...>-tag, ik? :-) Og kan "cash" være et komma tal (dvs "25,2") ?
22. august 2004 - 23:50
#9
..ang komma tal.. hvad med "saldo"?
22. august 2004 - 23:52
#10
Jeg bruger method="post" Hverken "cash" eller "saldo" kan være med komma, begge er altid med hele tal
22. august 2004 - 23:54
#11
så burde CInt virke.. Prøv det her: response.write "Fra formen: *" & request.form("cash") & "*<br>" response.write "Fra databasen: *" & rs("saldo") & "*<br>" 'if request.form ("cash") < rs("saldo") then 'response.redirect ("udbetalerror.asp") 'end if Hvad skriver den så?
22. august 2004 - 23:54
#12
Umiddelbart ser det ud som om du checker forkert: Du vil formodentlig teste, at der er penge nok på en konto, dvs. der må ikke hæves mere en saldoen er. Dit < skal i så fald vendes om.
22. august 2004 - 23:54
#13
Bortset fra det, er jeg helt enig med thesurfer i fejlsøgningen...
22. august 2004 - 23:55
#14
jpvj> Jeg tror at du har ret, ang ">" :-)
23. august 2004 - 00:00
#15
Prøv evt følgende: _cash = Request.Form("cash") _saldo = Request.Form("saldo) if CInt(_cash) > CInt(_saldo) then response.redirect ("udbetalerror.asp") end if ~C
23. august 2004 - 00:00
#16
Så skrives: Fra formen: *200* Fra databasen: *48* < tegnet er nu vendt
23. august 2004 - 00:04
#17
Sq selvfølgelig have været: _cash = Request.Form("cash") _saldo = rs("saldo") if CInt(_cash) > CInt(_saldo) then response.redirect ("udbetalerror.asp") end if ~C
23. august 2004 - 00:10
#18
Cillas >> dit forslag virker :-) Men hvorfor??
23. august 2004 - 00:14
#19
Jeg tror at det er pga rs("saldo") .. der sker mystiske ting, når man arbejder med databaser.. Somme tider må man ikke bruge samme rs("feltnavn") flere gange.. andre gang må man godt..
23. august 2004 - 00:14
#20
Kan nu ikke se, hvorfor _ foran variablen har noget at side... Prøv at slette dem igen, så du ender med cash = Request.Form("cash") saldo = rs("saldo") if CInt(cash) > CInt(saldo) then response.redirect ("udbetalerror.asp") end if eller if CInt(Request.Form("cash")) > CInt(Request.Form("saldo") then response.redirect ("udbetalerror.asp") end if
23. august 2004 - 00:15
#21
Hopper i seng nu, men smider lige et svar, hvis jeg har været til hjælp :-) Sov godt mine kære med-experter :-)
23. august 2004 - 00:21
#22
jpvj> En lille fejl i 23/08-2004 00:14:31.. Request.Form("saldo") i stedet for rs("saldo")..
23. august 2004 - 00:21
#23
Kig på de to if sætninger, forskellen er < og > if request.form("cash") < rs("saldo") then if CInt(_cash) > CInt(_saldo) then Men brug Int i stedet for CInt.
23. august 2004 - 00:22
#24
Fejlen med "<" / ">" blev jo fanget allerede i 22/08-2004 23:54:33..
23. august 2004 - 00:23
#25
Hej Kaptajn. Det er fordi den ikke havde fået konverteret den ene eller anden værdi til tal. Det kommer man uden om ved at gøre det på den måde der. Man burde også kunne konvertere direkte på selve request'et, men personlig får jeg bedre overblik på denne måde :) Angåede mine _ foran værdien, så er det bare min personlige måde at kalde en variabel i en specifik kode på, så jeg ikke kalder dem det samme som requestens værdi. Igen bare en personlig vane :) Men godt at høre det virker :) ~C
23. august 2004 - 00:32
#26
Ja det har kaptajnknas nok ikke set:)
23. august 2004 - 00:37
#27
Det virker fint :-) Og jeg siger tak for hjælpen og alle svar hertil.
Kurser inden for grundlæggende programmering