23. juli 2007 - 10:18Der er
6 kommentarer og 1 løsning
Datatyper i cast
Jeg har lidt problemer med at lave en cast i en sql-sætning. Jeg har brug for at lægge et tal til værdien i et felt i databasen, men feltet er af typen nvarchar.
Jeg bruger denne her: myCmd = New Data.SqlClient.SqlCommand("update tblItems set [number]= cast([number] as double) + '" & s1 & "' where ([ID] = " & strID & ");", myConn)
Når jeg bruger den, får jeg fejlen: Incorrect syntax near ')'. (og jeg har checket at både s1 og strID indeholder de forventede værdier).
Hvis jeg ændre cast-delen til cast([number] as integer) så virker det fint! Men jeg har brug for, at det kan være et tal med decimaler, så derfor går den ikke.
Det hjalp, men kun hvis jeg sørger for at erstatte komme med punktum i s1 først. Og nu vil jeg jo helt ikke bruge punktum som decimaltegn, så ved du, hvordan jeg kommer ud over det?
Kommatal gemmes som float eller decimal - med punktum i SQL. Viser du det til andre i et program, eller får du input fra andre, så kan du konvertere til eller fra komma.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.