Einzelnen Beitrag anzeigen

Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#1

Query.Fields[x] = ftBlob, ich benötige aber ftByte

  Alt 2. Jun 2022, 00:01
Datenbank: MSSQL • Version: 2017 • Zugriff über: FireDAC
Hallo zusammen,

ich benötige ein Query.Fields[x] vom Datentyp ftByte.
Die Tabellenspalte ist wie folgt definiert:
Code:
[x] [varbinary](max) NOT NULL
Wenn ich im Select folgendes anwende, erhalte ich in Delphi in meinem FireDac-Query-Field den Datentyp ftByte:

Code:
Select
  CONVERT(BINARY, A.x)
Dann fehlen mir aber in einigen Zeilen Werte. BINARY ist einfach zu "kurz".

Wenn ich im Select folgendes anwende, erhalte ich in meiner FireDac-Query-Field den Datentyp ftBlob.

Code:
Select
  CONVERT(VARBINARY(MAX), A.x)
Hiermit sind aber zumindest alle Werte vollständig.

Gibt es irgendeine Möglichkeit als Ergebnis eines FireDac-Query-Fields anstelle ftBlob ftByte zu erhalten?

Oder kann man "einfach" DataModul_1.Qry_A.Fields[4].AsBytes anwenden, obwohl das Field eigentlich ftBlob ist?

Das eigentliche Ziel soll sein, dass das ftByte (oder wenn es geht) auch das ftBlob in ein String umgewandelt werden muss. In den Bytes können aber alle möglichen Zeichen vorkommen, u.a auch Zeichen für Textende, so dass viele String-Operationen dann abbrechen.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)

Geändert von juergen ( 2. Jun 2022 um 00:07 Uhr) Grund: Den letzten Satz hinzugefügt zur besseren Verdeutlichung
  Mit Zitat antworten Zitat