Einzelnen Beitrag anzeigen

Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#13

AW: ZEOS ZQuery liest Spalte mit Collation utf8_bin nicht richtig aus

  Alt 21. Mär 2018, 11:49
Ein Enum ist ein Aufzählung und nicht Boolean. Das hat sich seit 2014 nicht geändert (tinyint(1)). Der Bit Datentyp kommt noch hin.
Und wie spricht man den in Delphi an? Mit AsInteger soweit ich weiß ^^ Da kann ich auch gleich TINYINT nehmen, habe fast alle Vorteile von ENUM (außer der Bereichsgrenzen) abzüglich aller Nachteile von ENUM

Den Booleantyp muss die Datenbank können und die Interpretation von Devart ist verständlich, aber auch Devart hat das nicht ganz so freiwillig eingebaut (Interbase, Firebird haben ähnliche Ansinnen). Möglw. war es FIBPlus die damit begonnen haben oder IBOBjects im Umfeld von Interbase.
völlig richtig! IMHO fehlt Data.DB.TFieldType ein Datentyp für ENUM, quasi ein undefinierter Zustand. Das kann man dann weder ZEOS noch Devart wirklich vorwerfen dass sie gezwungen sind, irgendwelche Quasi-Standards zu übernehmen.

Wahr oder Falsch sind was anders gelagert als die C Interpretation. Es gibt allein ein mathematischen Beweis, dass beide Varianten auf das selbe rauslaufen und damit Deckungsgleich sind. In C ist nur 'false' mit 0 definiert und not false ist true.
Womit es eigentlich richtig wäre, wenn wie bei mir geschehen AsString immer zu "Wahr" auflöst, selbst wenn das Feld als ENUM('N','Y') definiert und mit "N" belegt ist. Devart hat eben genau das später konfigurierbar gemacht, weil die Kaffeesatzleserei in Quasistandards zu nichts führte
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat