Hallo allemaal,
ik ben momenteel bezig met een programma in Java, waarbij ik gebruik maak van een MS Access database. Het programma moet de rekening van een gast in een hotel bijhouden en opslaan in de database.
In deze database staat een tabel genaamd 'bar', waarin de prijzen van de verschillende produkten in de bar worden opgeslagen. De tabel bestaat uit twee velden, 'Artikel' en Prijs'. Hierin staan dus de artikelen en prijs van het artikel, bijvoorbeeld 'Biefstuk', '11.00'.
Nu lees ik de prijs uit in het javaprogramma:
strSelect hierin is een string-variabele waarin de naam van een eerder gekozen artikel wordt gezet.
De prijs van het artikel wordt netjes uitgelezen. Vervolgens geef ik deze weer in een JTextField door de volgende code:
Hierin is 'select' de resultset waar de prijs uit de database in wordt gezet en 'arrArtikel' en 'arrPrijs' zijn arrays van JTextFields. 'intLoop' zorgt ervoor dat het juiste JTextField uit de arrays wordt genomen.
Het gaat echter niet helemaal zoals ik zou willen. Een voorbeeld: ik vraag de prijs van artikel 'Biefstuk' op. In de database staat deze als '11.00'.
Vervolgens schrijf ik deze waarde in het JTextField 'arrPrijs[intLoop]' weg (zie code hierboven voor de code). In het textfield wordt echter niet '11.00', zoals het in de database staat, maar '11.0' gezet.
Om een lang verhaal kort te maken, ik mis een '0' achter de komma bij bedragen waarvan het laatste cijfer achter de komma een '0' is. Een bedrag als '1.75' gaat wel goed. Ook wordt er goed gerekend met de bedragen.
In de database heeft het veld 'Prijs' al vele instellingen gehad: decimaal, enkele precisie, dubbele precisie en alles wat daar weer aan in te stellen valt (notatie: valuta, vast, standaard enz.). Ik denk dus dat de oplossing in java gezocht moet worden. Ik kan echter niet vinden waar, ik heb al in de helpfiles van Sun zelf gekeken.
Wie weet de oplossing? En sorry van de lange lap tekst
Roy
ik ben momenteel bezig met een programma in Java, waarbij ik gebruik maak van een MS Access database. Het programma moet de rekening van een gast in een hotel bijhouden en opslaan in de database.
In deze database staat een tabel genaamd 'bar', waarin de prijzen van de verschillende produkten in de bar worden opgeslagen. De tabel bestaat uit twee velden, 'Artikel' en Prijs'. Hierin staan dus de artikelen en prijs van het artikel, bijvoorbeeld 'Biefstuk', '11.00'.
Nu lees ik de prijs uit in het javaprogramma:
code:
1
| ResultSet select = myStat.executeQuery("Select prijs from bar where artikel = '"+strSelect+"'"); |
strSelect hierin is een string-variabele waarin de naam van een eerder gekozen artikel wordt gezet.
De prijs van het artikel wordt netjes uitgelezen. Vervolgens geef ik deze weer in een JTextField door de volgende code:
code:
1
2
3
4
5
6
| while(select.next())
{
float fltPrijs = select.getFloat("prijs");
arrArtikel[intLoop].setText(strSelect);
arrPrijs[intLoop].setText(String.valueOf(fltPrijs));
} |
Hierin is 'select' de resultset waar de prijs uit de database in wordt gezet en 'arrArtikel' en 'arrPrijs' zijn arrays van JTextFields. 'intLoop' zorgt ervoor dat het juiste JTextField uit de arrays wordt genomen.
Het gaat echter niet helemaal zoals ik zou willen. Een voorbeeld: ik vraag de prijs van artikel 'Biefstuk' op. In de database staat deze als '11.00'.
Vervolgens schrijf ik deze waarde in het JTextField 'arrPrijs[intLoop]' weg (zie code hierboven voor de code). In het textfield wordt echter niet '11.00', zoals het in de database staat, maar '11.0' gezet.
Om een lang verhaal kort te maken, ik mis een '0' achter de komma bij bedragen waarvan het laatste cijfer achter de komma een '0' is. Een bedrag als '1.75' gaat wel goed. Ook wordt er goed gerekend met de bedragen.
In de database heeft het veld 'Prijs' al vele instellingen gehad: decimaal, enkele precisie, dubbele precisie en alles wat daar weer aan in te stellen valt (notatie: valuta, vast, standaard enz.). Ik denk dus dat de oplossing in java gezocht moet worden. Ik kan echter niet vinden waar, ik heb al in de helpfiles van Sun zelf gekeken.
Wie weet de oplossing? En sorry van de lange lap tekst
Roy
[ Voor 7% gewijzigd door RvL op 10-04-2003 12:17 ]
Liefde maakt een smal bed breed!
Nu de dekens nog...