Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#12

AW: MySQL Funktion (z.B. YEAR()) gibt je nach DB unterschiedliche Typen zurück

  Alt 3. Aug 2022, 17:30
Genau das hilft leider nicht. Ich vermute, dass das DBMS so "intelligent" ist, dass es beim Cast auf diese generischen Typen die Länge des originalen Typens beibehält. Bei mir gibt meine MariaDB auf dem Entwicklungs-PC auch mit Cast einen Typen zurück, den mein Programm als Integer-Feld anlegen möchte. Die MySQL DB beim Kunden gibt, mit demselben Cast, allerdings ein LongInt zurück. Genau wie die ungecasteten Aufrufe von YEAR() usw.

Die Felder manuell im Feld-Editor als TLargeIntField anzulegen brachte zumindest, dass ich es jetzt beim Kunden laufen lassen kann. Aber testen kann ich damit nun nicht mehr.

Ich hatte auch nach einer Möglichkeit gesucht, um mir mal vom DBMS selbst anzeigen zu lassen, welche Typen es für die Spalten um Result-Set verwendet. Für Tabellen gibt es da gleich mehrere Wege, aber für eine Query scheinbar nichts. Damit hätte ich zumindest dann etwas rumspielen können. Hat mich irritiert, dass das scheinbar wohl ein Nischenproblem ist.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat