Jeg har oprettet en tabel ved navn Varer, som indeholder en attribut vPris, der et decimaltal. Når jeg indlæser en pris i tabellen via XML bliver resutatet .00 Jeg kan ikke få andet frem. Hvad skal der gøres i XML dokumentet så det rigtige decimaltal kommer til at stå der? Se nedenstående:
CREATE TABLE Varer ( vPris DECIMAL(8,2) NOT NULL, );
DECLARE @hdoc int DECLARE @doc varchar (1000) Set @doc=' <?xml version="1.0" encoding="iso-8859-1" ?> <ROOT> <Varer vPris="105.50" </Varer>
</ROOT>'
EXEC sp_xml_preparedocument @hdoc OUTPUT, @doc
INSERT Varer Select * FROM OPENXML (@hdoc, '/ROOT/Varer') WITH Varer
Opnå den bedste ydeevne med din computer, og overtag føringen i de nyeste spil uden at gå over budgettet.
30. oktober 2024
Slettet bruger
04. juni 2004 - 10:39#1
Uden at kende så meget til emnet, vil jeg forslå at du skal ændre linien: "DECLARE @hdoc int" til noget andet, så du ikke bruger datatypen int (=heltal).
Det er SQL Serveren ikke glad for. Fejlen opstår fordi DECLARE @doc varchar (1000) er sat som varchar, men ændre man den til en anden datatype går det også galt, hvilket er logisk nok. Spørgsmålet er om man er nødt til at dele dokumentet op på en eller anden måde?
Hej Venne! Når jeg tager en kopi at det du har ovenfor, så får jeg det problem med at jeg kun kan se .00 i tabellen. Hvad er du siger der så kan være galt?
Hvis vi nu for eksperimentets skyld ændrer tabellen til:
CREATE TABLE Varer ( vPris VARCHAR(20) NOT NULL )
eller:
CREATE TABLE Varer ( vPris REAL NOT NULL )
- hvad sker der så?
Synes godt om
Ny brugerNybegynder
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.