webForumDet fria alternativet

flyttal i sql-sträng

.NET

5 svar · 320 visningar · startad av Gein

Medlem sedan sep. 20005 700 inlägg
Frågan#1

Har ett problem som jag behöver lösa.
Jag har några flyttal av typen Double som t.ex
kan ha värdet 9,5. När jag lägger in detta i en
INSERT fråga i en SQL sträng så blir det fel.
Access läser det som 9 är ett värde och 5 ett annat eftersom den delar upp värdena med ",". Hur ändrar jag detta så att
Visual Basic skriver ut "." istället?

Medlem sedan sep. 20005 700 inlägg
#2

löste det med att sätta ' mellan värdet när det skulle in i SQL strängen

Medlem sedan juni 200032 967 inlägg
#3

Du får väl använda replace eftersom du skall använda decimalpunkt i SQL.

Mvh,

Medlem sedan sep. 20005 700 inlägg
#4

replace funkar inte
Då VB inte gillar "."-tecken i en double datatyp så tar den bort det tecknet, så 9,5 efter en replace blir 95

Medlem sedan maj 20018 027 inlägg
#5

Ursprungligen av Gein replace funkar inte
Då VB inte gillar "."-tecken i en double datatyp så tar den bort det tecknet, så 9,5 efter en replace blir 95

Nej, du kan inte köra Replace på en double. Däremot kan du köra replace på en sträng. Alltså bygger du upp din sql-sträng först, sedan replace.

Medlem sedan juni 200032 967 inlägg
#6

Så här tänkte jag:
Du har ett decimaltal i en variabel, ex. dblNumber.

strSQL = "INSERT INTO tblTabell (doublefältet) VALUES ("  & Replace(Cstr(dblNumber), ",", ".") & ")"

Mvh,

255 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)