23. november 2003 - 21:13
Der er
35 kommentarer og 3 løsninger
dividere og gange i en tilføj-formular
Hvor kan dette ikke lade sig gøre?... spillerid=Request.Form("spillerid") navn=Request.Form("navn") dato=Request.Form("dato") klasse=Request.Form("klasse") spillested=Request.Form("spillested") score=Request.Form("score") indgange=Request.Form("indgange") snit=Request.Form("snit") hojesteserie=Request.Form("hojesteserie") Set Query = Conn.Execute("SELECT * From spiller WHERE id = " & spillerid & " ") sql="insert into spillerresult (spillerid,navn,dato,klasse,spillested,score,indgange,snit,procent,hojesteserie) values ('"& spillerid &"','"& navn &"','"& dato &"','"& klasse &"','"& spillested &"','"& score &"','"& indgange &"','"& snit &"','"& snit/Query("aarssnit")*100 &"','"& hojesteserie &"');" Conn.execute(sql) Mit problem er der hvor jeg har skerevet>> snit/Query("aarssnit")*100 Hvordan for jeg den til at gøre det??..
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
23. november 2003 - 21:19
#1
prøv: cint(snit)/cint(query("arrssnit))*100
23. november 2003 - 21:19
#2
CInt laver en String (streng) om til en Integer (tal). Du kan jo ikke dividere strenge :)
23. november 2003 - 21:30
#3
ja det virker.... Men resultatet bliver ikke det samme som hvis jeg regner det ud på en lommeregner... den får resultatet til 173,91 og lommeregneren kommer frem 174,29 regne stykker den ligger sammen er 40/22,95*100
23. november 2003 - 21:39
#4
Dit problem er også at 22,95 ikke er et heltal. Skriv derfor cint(snit)/cdbl(query("arrssnit))*100
23. november 2003 - 21:39
#5
Brug CdBl
23. november 2003 - 21:40
#6
Cint("173,92") bliver 174, og så fås netop 173,91.
23. november 2003 - 21:41
#7
det er ved nok bedst at bruge: cdbl(snit)/cdbl(Query("aarssnit"))*100
23. november 2003 - 21:41
#8
Hvis snit ikke er et heltal, ja...
23. november 2003 - 21:42
#9
for det meste er ingen af dem heltal..... men det kan forekomme....
23. november 2003 - 21:43
#10
Men der bør også testes på, der ikke kommer et 0 i nævneren. Er du sikker på, at brugeren faktisk har indtastet et tal og ikke noget, der ikke kan konverteres til et tal.
23. november 2003 - 21:45
#11
Brug derfor if IsNumeric(snit) then Snit=cdbl(snit) else 'gør noget nu, hvor der ikke er tale om et tal. end if Tilsvarende for åårssnit
23. november 2003 - 21:46
#12
"Hvis snit ikke er et heltal, ja..." :) Det var jo noget ligende der ødelage mit CInt :)
23. november 2003 - 21:47
#13
et 0 ?? er ikke helt med på hvad du mener.... aarssnit, er næsten aldrig et heltal, men det kan ske..... snit, kan oftere forekomme at være et nul. De vil adrig nogensinde være et 0.... Har nu indsat cdbl istedet, og nu passer udregningen.... :-)
23. november 2003 - 21:47
#14
Hvis snit ikke har fået tildelt en værdi, skal du først konvertere til en streng, da betingelsen ellers kan returnere sand. if IsNumeric(CStr(snit)) then
23. november 2003 - 21:48
#15
ups... snit, kan oftere forekomme som et heltal...
23. november 2003 - 21:48
#16
Hvis de aldrig er nuk, er der ingen problemer. Du kan som bekendt bare ikke divere med nul.
23. november 2003 - 21:48
#17
nul
23. november 2003 - 21:49
#18
Alle får tildelt en værdi....
23. november 2003 - 21:49
#19
dividere
23. november 2003 - 21:50
#20
- som er numerisk?
23. november 2003 - 21:50
#21
jep, det er altid tal der bliver brugt....
23. november 2003 - 21:51
#22
Så er der ingen ko på isen, og du kan nøjes med: cdbl(snit) / cdbl(Query("aarssnit")) * 100
23. november 2003 - 21:53
#23
Hvilken type er aarssnit i databasen? dim tmp tmp = "" if IsNumeric(snit) then if IsNumeric(aarssnit) then tmp = cdbl(snit)/cdbl(Query("aarssnit"))*100 else response.write "aarssnit er skal være et tal" end if else response.write "snit skal være et tal" end if if tmp <> "" then sql="insert into spillerresult (spillerid,navn,dato,klasse,spillested,score,indgange,snit,procent,hojesteserie) values ('"& spillerid &"','"& navn &"','"& dato &"','"& klasse &"','"& spillested &"','"& score &"','"& indgange &"','"& snit &"','"& snit/Query("aarssnit")*100 &"','"& hojesteserie &"');" Conn.execute(sql) conn.close set conn = nothing end if
23. november 2003 - 21:53
#24
Skulle have været: if tmp <> "" then sql="insert into spillerresult (spillerid,navn,dato,klasse,spillested,score,indgange,snit,procent,hojesteserie) values ('"& spillerid &"','"& navn &"','"& dato &"','"& klasse &"','"& spillested &"','"& score &"','"& indgange &"','"& snit &"','"& tmp &"','"& hojesteserie &"');" Conn.execute(sql) conn.close set conn = nothing end if
23. november 2003 - 21:58
#25
hvorfor er der et ";" sidst i linie?: hojesteserie &"');"
23. november 2003 - 22:03
#26
Jeg har løst min problem takket været jer.... hvem skal have pointene??
23. november 2003 - 22:04
#27
Vi kan vel alle ligge et svar.. Men, skal det der ";" ikke væk?
23. november 2003 - 22:11
#28
nææ det har altid været der....
23. november 2003 - 22:14
#29
Der skal altså ikke være noget ";" :)
Det er jo ikke JavaScript, det her :)
Se selv:
strSQL = "Insert into personer (Fornavn, Efternavn, Telefon, Foedselsdato) values('Fætter','Guf','99887766','20-04-1964')"
Conn.Execute(strSQL)
Taget fra
http://html.dk/tutorials/asp/lektion20.asp
23. november 2003 - 22:28
#30
Det er underordnet, om du afslutter dit statement med et semikolon.
23. november 2003 - 22:29
#31
Så lægger jeg da også et.
23. november 2003 - 22:33
#32
Er det ikke mest fair, at pointene går til TheSurfer?
23. november 2003 - 22:37
#33
Her et svar, men jeg synes også thesurfer skal have pointene (flest i hvert fald)
23. november 2003 - 22:37
#34
Jeg synes at du skulle dele dem.. Jeg var først med CInt, hvilket var en delvis løsning. nmh kom med cdbl som er en "viderebyggelse" på fejlen/infoen fra CInt. Hvis man kigger på tidslinien, kan du se at netro også kom med cdbl.
23. november 2003 - 22:49
#35
takker for point. :o)
23. november 2003 - 22:51
#36
Jeg takker for hjælpen... :-)
23. november 2003 - 22:58
#37
Takker for points. :)
23. november 2003 - 23:44
#38
Tak :~]
Kurser inden for grundlæggende programmering