AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken SQL-Abfrage formatiert ausgeben
Thema durchsuchen
Ansicht
Themen-Optionen

SQL-Abfrage formatiert ausgeben

Ein Thema von waldforest · begonnen am 9. Aug 2015 · letzter Beitrag vom 10. Aug 2015
Antwort Antwort
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#1

AW: SQL-Abfrage formatiert ausgeben

  Alt 10. Aug 2015, 07:58
Wie beschrieben möchte ich die Query auf dem Formular dynamische nutzen um hier ein Standardformular mit unterschiedlichen Abfrage zu füttern.
Wenn es dynamisch sein soll, kannst Du direkt im SQL ein Cast auf Text versuchen. Dabei werden die Standard Settings verwendet (Decimaltrennzeichen usw.) Das macht allerdings nur Sinn, wenn es um readonly Daten geht.

Code:
cast(22.5 as varchar(50))
Leider hat man glaub ich keine Möglichkeit, das explizit mit einer Formatmaske zu versehen. Vielleicht findest Du dazu aber eine brauchbare UDF.
Gruß, Jo
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: SQL-Abfrage formatiert ausgeben

  Alt 10. Aug 2015, 08:34
Ich würde Formatierungen nicht in der Abfrage, sondern bei der Anzeige durchführen.
Markus Kinzler
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: SQL-Abfrage formatiert ausgeben

  Alt 10. Aug 2015, 08:47
Ich würde es auch nur unter gewissen Umständen machen, so hab ich es ja auch geschrieben. Der TE kann es vielleicht selbst beurteilen, ob es für Ihn in Frage kommt. Ein Hindernis ist ja hier leider die "dünne" Ausstattung bei Firebird.

Warum würdesst Du es nicht machen?
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.458 Beiträge
 
Delphi 12 Athens
 
#4

AW: SQL-Abfrage formatiert ausgeben

  Alt 10. Aug 2015, 09:24
Zitat:
Warum würdesst Du es nicht machen?
...weil nur die Anzeige für die Darstellung verantwortlich ist. Beispiel Datum: Das liegt in der DB als TDateTime. Letztendlich entscheidet die Anzeige ob es im Englischen oder Deutschem Format angezeigt wird. Du würdest auch keine 2 SQL machen um den Datumsstring schon formatiert aus der DB zu holen oder?
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: SQL-Abfrage formatiert ausgeben

  Alt 10. Aug 2015, 09:48
Tja, also ich kann ohne Probleme einen Preis oder eine Summe dynamisch per SQL ausgeben und meinetwegen auch eine Währung berücksichtigen, ähnlich geht es bei Datumsangaben, kommt halt auch auf die Fähigkeiten des DB Systems an, wie schon gesagt.

Die Vorgabe des TE war ja ein Formular für unterschiedliche SQL Statements zu verwenden.
Jetzt kann er entweder eine Feldverwaltung mit Formatierung einbauen oder aber im einzigen Teil, der eh dynamisch ist, direkt für eine richtig formatierte Ausgabe sorgen.

Natürlich gibt es Direktiven wie "weil nur die Anzeige für die Darstellung verantwortlich ist" nicht ohne Grund, aber die sind kein Selbstzweck. In einem überschaubaren Rahmen finde ich eine Lösung mit SQL Formatierung vollkommen okay.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: SQL-Abfrage formatiert ausgeben

  Alt 10. Aug 2015, 12:53
Zitat:
Warum würdesst Du es nicht machen?
...weil nur die Anzeige für die Darstellung verantwortlich ist. Beispiel Datum: Das liegt in der DB als TDateTime. Letztendlich entscheidet die Anzeige ob es im Englischen oder Deutschem Format angezeigt wird. Du würdest auch keine 2 SQL machen um den Datumsstring schon formatiert aus der DB zu holen oder?
Jain, ich hab die Situation, das ein Std-Schreiben aus der DB gefüttert wird, da wird das Datumsformat über den Standort in der Queryausgabe gesteuert. Da ich aber eh eine Unterscheidung deutscher/englischer Brief habe, wäre es zu überlegen, dort das Datum zu formatieren.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.458 Beiträge
 
Delphi 12 Athens
 
#7

AW: SQL-Abfrage formatiert ausgeben

  Alt 10. Aug 2015, 13:48
Hallo,
Zitat:
Da ich aber eh eine Unterscheidung deutscher/englischer Brief habe, wäre es zu überlegen, dort das Datum zu formatieren.
Sicher gibt es verschiedene Ansichten. Persönlich würde ich die DB zum Halten der Daten verwenden und dem Report, der den Brief generiert, die Formatierung überlassen. Imho kann der das besser...
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

AW: SQL-Abfrage formatiert ausgeben

  Alt 10. Aug 2015, 16:37
Hab ich was von "Report" geschrieben?
es ist Word, und die Zicke von dem zu überzeugen was man gerne hätte ist doch recht aufwendig.
Darum auch die Tricksereien mit der Abfrage und dem Ausgabeformat.

Gruß
K-H

P.S.
in absehbarer Zeit wir bei uns offizell auf ISO-Format umgestellt, dann stellt sich auch diese Frage nicht mehr!
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz