Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#3

AW: Devart, DevExpress und böse VARCHAR ?

  Alt 26. Apr 2023, 18:44
Hab nun eine Testanwendung gebaut und bissl rumprobiert.

das passiert im Programm:
SQL-Code:
-- ftWideMemo/TWideMemoField
SELECT ''::TEXT

-- ftWideString/TWideStringField Size=100 DataSize=202
SELECT ''::VARCHAR(100)

-- ftWideString/TWideStringField Size=8191 DataSize=16384 (im Prodat)
-- ABER eigentlich ist es ftWideMemo/TWideMemoField (im puren PgDAC)
SELECT ''::VARCHAR


-- Exception, bei Anzeige im Grid
SELECT repeat('*', 12000)::VARCHAR

-- ftWideString/TWideStringField Size=20000 DataSize=40002 Length=12000
SELECT repeat('*', 12000)::VARCHAR(20000)
In einer Testanwendung macht PgDAC aus VARCHAR(123) einen String, aber aus VARCHAR wird ein Memo, so wie bei TEXT.

In unserem Programm wird aber irgendwie VARCHAR mit oder ohne Länge immer zu String mit Längenangabe 8K.

Bloß wenn ich es in der Testanwendung versuche, also manuell das TWideStringField erstellen, dann meckert das Open.
Zitat:
Unterschiedliche Typen für Feld 'str'; erwartet: WideString, gefunden: WideMemo.


[add]
Hmmmmm, also in der DEMO ... im Programm weiß noch nicht.

* bei PgQuery2.Options.LongStrings=True gibt es keine Exception mehr, vonwegen "Unterschiedliche Typen für Feld"

* bei PgQuery2.Options.UnknownAsString=True auch keine Exception mehr, aber das Memo wird zum String

* Beides zusammen wie das UnknownAsString

* aber ebenfalls noch keine Exception im Grid
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (26. Apr 2023 um 19:03 Uhr)
  Mit Zitat antworten Zitat