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 udDim 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?
