Cint omvandlar till heltal. Ska du använda decimaler kan du använda cdbl() istället.
Kan vara en bra ide att berätta vad det är som inte funkar. Vad händer? Felmeddelande?
7 svar · 573 visningar · startad av clacke
Jag vill uppdatera ett tal med ett komma i, dvs 12.12345 och då ska väl kolumnen vara en double i tabellen för att det ska funka, eller?
Jag hämtar värdet så här:
latitud = cint(replace(request.Form("latitud"), "'", "´"))
Jag kan göra en insert men inte update? Vad gör jag för fel?
Cint omvandlar till heltal. Ska du använda decimaler kan du använda cdbl() istället.
Kan vara en bra ide att berätta vad det är som inte funkar. Vad händer? Felmeddelande?
Hej @nders
Ja det är det som är problemet, när jag försöker uppdatera så lägger den inte in något alls när jag försöker lägga in i double kolumnen? Och jag får inget felmeddelande heller.
Jag har 2st fält som jag hämtar med:
latitud = cdbl(replace(request.Form("latitud"), "'", "´"))
longitud = cdbl(replace(request.Form("longitud"), "'", "´"))
och jag lägger in det i dbn med:
sql= "UPDATE adresser SET datum = '"& datum &"', headline = '"& headline &"', latitud = "& latitud &", longitud = "& longitud &" WHERE adresser_id=" & upload_id &";"
conn.Execute (sql)
Men det funkade inte med cdbl heller, har du något annat förslag? Tack!
Om jag tar bort latitud och longitud från updaten så funkar det dock!
Det är konstigt om den helt enkelt inte uppdaterar och du inte får något felmeddelande - under förutsättning att din WHERE är rätt - men det borde den ju vara om den uppdaterar när du inte har med longitud och latitud.
Men: en sak man måste tänka på med decimaltal och SQL-frågor är att man måste använda decimalpunkt - komma är ju en fält- och värdesavgränsare, inget decimaltecken. Så - efter att du gjort cdbl - gör en replace från komma till punkt innan du lägger in värdena i sql-frågan.
mvh
Jag fick det att funka med:
latitud = request.Form("latitud")
longitud = request.Form("longitud")
latitud = cdbl(replace(latitud), ",", ".")
longitud = cdbl(replace(longitud), ",", ".")
Men det konstiga nu är att den skriver ut komma när jag hämtar värdet från dbn, fast det är punkt i dbn?
Jag får helt enkelt göra en replace när jag skriver ut det på sidan också.
Ett annat konstigt fel var att om jag har noll som sista siffra i något av fälten så lägger den inte in det i dbn?
Men det konstiga nu är att den skriver ut komma när jag hämtar värdet från dbn, fast det är punkt i dbn?
Det är inte konstigt. Det beror på vad webbservern har för regionala inställningar. Är den "svensk" visas decimaltal med komma.
Ett annat konstigt fel var att om jag har noll som sista siffra i något av fälten så lägger den inte in det i dbn?
Det är inte heller konstigt. Decimaler som slutar på 0 är onödiga. 2.1 är samma sak som 2.1000000. Vill du visa "onödiga" nollor får du lägga till dem vid presentationen (eller eventuellt ställa in i fältet i databasen att du vill ha ett fast antal decimaler - om det går.)
mvh
:-) då var det inte konstigt.
Tack för hjälpen! Mvh C
Vasse! :)