Problem mit dem Speichern von Kommazahlen mittels SQL

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

arkadiuszpaluszek
****
Beiträge: 117
Registriert: So, 09.05.2010 09:53
Wohnort: Coburg
Kontaktdaten:

Problem mit dem Speichern von Kommazahlen mittels SQL

Beitrag von arkadiuszpaluszek »

Hallo,

habe folgenden Code:

Code: Alles auswählen

		oElement=oForm.getByName("ust_prozent")
		ust_prozent=oElement.value
		ust=summe_netto*ust_prozent/100
		summe_brutto=summe_netto+ust

	'Die Kunden-ID wird gelesen
	oForm=oDoc.drawpage.forms.getByName("Formular1")
	oElement=oForm.getByName("kunde_id")
	kunde_id=oElement.text
msgbox ("kunde hat die nr "+kunde_id)

' Die ermittelten Variablen werden nun in die Datenbank geschrieben
mySQL="INSERT INTO ""proberechnungen"" (""rechnung_nr"",""summe_netto"",""ust"",""summe_brutto"",""kunde_id"")VALUES "+_
		"('"+rechnung_nr+"','"+summe_netto+"','"+ust+"','"+summe_brutto+"','"+kunde_id+"')"
Das ergibt in der Praxis folgenden SQL-Befehl der hier mittels MsgBox angezeigt wird:
bsp1.jpg
bsp1.jpg (22.53 KiB) 615 mal betrachtet
Die Zahlenwerte welche hier in der Datenbank gespeichert werden sollen, sind hier keineswegs ein String, sie sind vielmehr das Ergebnis mathematischer Operationen. Um dies zu verdeutlichen, habe ich auch schon versucht sie zuvor klar zu deklarieren z.B. mit "dim ust as double" etc.

Ist eine der Zahlen aber eine Kommazahl, wird sie im SQL-Ausdruck aufgrund des dort gegebenen Kommas als ein Text behandelt udn ergibt folgenden Fehler:
bsp2.jpg
bsp2.jpg (24.13 KiB) 619 mal betrachtet
Liegen nur ganze Zahlen vor oder ersetze ich probeweise im SQL Befehl die Kommas durch einen Punkt indem ich in den SQL Befehl per Hand eine Kommazahl reinschreibe (z.B. 12.45 statt 12,45) tritt der Fehler nicht mehr auf. Kann ich nachvollziehen, die DB möchte Kommazahlen im üblichen Format, also mit Punkten statt Kommas.

Wie schaffe ich es also, dass die in den mathematischen Operationen ermittelten Variablenwerte in diesem Format im SQL-Befehl erscheinen, statt mit dem störenden ","? Bin wirklich gespannt auf Eure Antworten!

Viele Grüße

Arek

LibreOffice 3.5 auf Win7.
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Problem mit dem Speichern von Kommazahlen mittels SQL

Beitrag von Karolus »

Hallo
Crosspostings solltest du wenigstens verlinken

Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Antworten