variabel1 = 0
' Här hämtar jag från en mySQL-databas
Summan = variabel1 + RecSet("Variabel2")
Detta ger felet Inkompatibla typer på den sistnämnda raden. Varför?
RecSet("variabel2") innehåller 4 och variabel1 innehåller 0. Varför går inte det?
Tacksam för snabb hjälp!!
EitrazMedlem sedan sep. 2002366 inlägg är RecSet("Variabel2") ett nummer?
IsNumeric(RecSet("Variabel2") kan du använda för o ta reda på det.
-Eitraz
Nej, IsNumeric(RecSet("Variabel2")) var false
Varför? Är det fel datatyp i mySQL-databasen? Datatypen är decimal(10,0). Vilken skall jag annars använda? (vill lagra tal, med decimaler).
Eller är det fel på ASP-koden?
Svara så snabbt ni kan! Tack!! :bire
EitrazMedlem sedan sep. 2002366 inlägg kan vara så att du måste ha en punkt istället för ett komma i 10,0 ..
-Eitraz
Den, då blir det fel i mySQL-programmet... (SQL syntax error)
Om jag skriver
%><%=RecSet("Variabel2")%><%
så visar den innehåller 4
Inga andra förslag? Skulle inte 4 vara en siffra, eller?
EitrazMedlem sedan sep. 2002366 inlägg If NOT IsNumeric(RecSet("Variabel2")) Then
Variabel2 = 0
Else
Variabel2 = CInt(RecSet("Variabel2"))
End If
Så blir Variabel2 en siffra.. helt säkert..
-Eitraz
Nu funkar det visst! Men, varför blir det så. Vilken datatyp skall jag använda till sådana tal?
Tack Eitraz :bire
EitrazMedlem sedan sep. 2002366 inlägg Om det inte är en integer du har kan du ju skriva CLng för lite större tal etc.
-Eitraz
Klarar CLng av decimaler också?
EitrazMedlem sedan sep. 2002366 inlägg yes, det gör det.
Funkar även med CDbl, beror på hur stora tal du använder.
-Eitraz
EitrazMedlem sedan sep. 2002366 inlägg Hmm... Vet inte exakta storlekar på det där.. Men t ex
tal = "5435.234234234234234234"
talet = CDbl(tal)
talet = CLng(tal) <= Ger Owerflow
Dbl klarar alltså jobbigare tal ;)
-Eitraz
Varken CDbl eller CLng hittade jag som datatyp i mySQL :o
hehe ;)
Klarar DOUBLE av decimaler? :)
EitrazMedlem sedan sep. 2002366 inlägg jepp, annars skulle inte CDbl ge decimaler... (Dbl = Double) ;)
-Eitraz
Skall det vara Double(10,0) då?
Tack för hjälpen, Eitraz - du är en ängel! :f
EitrazMedlem sedan sep. 2002366 inlägg Alltså... Datafältet i databasen är av typen Double (om du kör med MySQL) och när du i koden ska "konvertera" till Double skriver du CDbl(10.0) för att få 10.0.. om det var det du menade ;)
-Eitraz
Jag tänkte på 10,0 - om de betyder något särskilt!
EitrazMedlem sedan sep. 2002366 inlägg 10,0 betyder inte nåt särskilt för mig.. hänger inte redigt med på vad du menar du ;)
-Eitraz