05. august 2004 - 15:10Der er
1 kommentar og 1 løsning
Decimalerne kommer ikke med, når jeg henter data fra en tabel
Hej igen!
Jeg har en variabel x: double; som jeg skal have en tabelværdi ind i. Så jeg gør følgende: x := database.tabelValuta['Kurs']; I min database er 'kurs' af typen decimal med 4 decimaler. Spørgsmålet går på, hvorfor min x-værdi ikke får decimalerne med, men får en heltalsværdi???
Man skulle jo tro at Delphi konverterede kursen til en double når nu det var hvad værdien blev tildelt.
Har du prøvet med den "gamle" måde. Den nye, som du bruger og som jeg selv anbefalede engang, er ikke altid så smart - bl.a. har jeg oplevet at varianterne blev returneret forkert - lidt som du har beskrevet det hvor det kan være at varianten tildeler den værdi der sidder i en integer. Det vil forklare hvor dine decimaler er forsvundet hen.
Prøv med: x := Database.TabelValuta.FieldByName('Kurs').AsFloat;
Kender du i øvrigt tricket med at dobbeltklikke på en TTable? På denne måde kan du lave variable der peger direkte på et felt i en tabel. Fordelen er at du meget præcist kan styre hvordan feltet håndteres. Der er naturligvis også ulemper: Hvis du bruger det på den måde, så virker FieldByName ikke længere.
Tak for hjælpen. Jeg ændrede typen i databasen til float, det hjalp lidt på det hele :o)
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.