webForumDet fria alternativet

Uträkning från databas

ASP

8 svar · 229 visningar · startad av Bj

Medlem sedan sep. 2000314 inlägg
Frågan#1
<% varningsnitt=RecSet("varning")/RecSet("matcher") %><%=varningsnitt%>
  1. Detta funkar om inte resultatet blir mindre än 0.1. Skulle det vara 0.077 så visas i stället 7.77 vilket är en aning galet.

  2. Hur skall man göra i ovanstående exempel om man bara vill visa 2 decimaler. Provade med

<%=left(RecSet("varningsnitt"),4)%>

men detta funkar inte i denna rutin.

Medlem sedan dec. 200012 464 inlägg
#2
<%=round(RecSet("varningsnitt"),2)%>

löser nog båda problemen

Medlem sedan sep. 2000314 inlägg
#3

Fick tyvärr fäljande felmeddelande.
Objektet kunde inte hittas i mängden med det begärda namnet eller numret.

Medlem sedan dec. 200012 464 inlägg
#4
<%=round(varningsnitt,2)%>
Medlem sedan sep. 2000314 inlägg
#5

Körningsfel i Microsoft VBScript (0x800A005E)
Ogiltig användning av Null: 'round'

Medlem sedan sep. 2000314 inlägg
#6

La in siffran 0 i databasen och då funkar det, men varför kan det inte bara vara tomt?

Medlem sedan sep. 2000314 inlägg
#7

Nästa problem dök naturligtvis upp.

<% malsnitt=RecSet("minuter")/RecSet("mal") %><%=round(malsnitt,2)%>

Vissa spelare har inte gjort ngt mål. (Och vissa kommer förmodligen aldrig att göra det)
Om man nu inte lägger till siffran 0 i databasen så funkar det alltså inte.
Lägger man till 0 så blir problemet att det inte går att dividera med 0.

Medlem sedan sep. 2000314 inlägg
#8

Här ser det ut som om det funkade med
<%=left(malsnitt,5)%>

Medlem sedan dec. 200012 464 inlägg
#9
<% 
if  recset("mal") = 0 then
    malsnitt = 0.0
else
    malsnitt=RecSet("minuter")/RecSet("mal") 
end if %>
<% = round(malsnitt,2)%>
252 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)