Avatar billede roth Nybegynder
17. juli 2003 - 10:44 Der er 1 løsning

konvertering af double til smallmoney uden at miste decimaler

jeg er ved at lave en lille ting i vb.net med en ms sql 2000 db som datastorage. Jeg har nogle ordrer med tilhørende ordrelinier og på ordrelinien har jeg adgang til varens pris i købsøjeblikket. Når jeg laver min sql streng ser det således ud

Dim strSQL As String = "INSERT INTO WebShopOrderLine(OrderlineOrderID, OrderlineVareID, OrderLineNumberOfItems, OrderLinePricePerUnit) VALUES ('" & objorderline.OrderID & "', '" & objorderline.VareID & "', '" & objorderline.NumberOfItems & "', CAST('" & objorderline.Price.ToString & "' AS SMALLMONEY))"

og strengen der kommer ud af det ser således ud:

"INSERT INTO WebShopOrderLine(OrderlineOrderID, OrderlineVareID, OrderLineNumberOfItems, OrderLinePricePerUnit) VALUES ('0', '2', '34', CAST('10,98' AS SMALLMONEY))"

Men når strengen bliver udført bliver prisen gemt som 1098, og ikke 10,98.

Jeg har prøvet at undlade at caste, så giver den error inserting varchar into smallmoney. Hvis jeg undlader at caste men bare sætter ' ' rundt om giver det det samme (implicit casting I guess), og hvis jeg undlader at caste og heller ikke sætter ' ' så opfatter den 10,98 som to tal og siger derfor at jeg har for mange values i forhold til felter der skal insertes i.

Nogen der har nogle ideer?
Avatar billede roth Nybegynder
17. juli 2003 - 11:26 #1
hrmph, har fået en løsning af en kammerat ..
Dim strSQL As String = "INSERT INTO WebShopOrderLine(OrderlineOrderID, OrderlineVareID, OrderLineNumberOfItems, OrderLinePricePerUnit) VALUES ('" & objorderline.OrderID & "', '" & objorderline.VareID & "', '" & objorderline.NumberOfItems & "', CAST('" & objorderline.Price.ToString().Replace(",",".") & "' AS SMALLMONEY))"

og vupti så kører det hele.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester