wirklich ftByte ....
ein Byte ?
Oder meinst du eher ftBytes, bzw. ftVarBytes?
Also sowas wie CHAR und VARCHAR,
während ftBlob mehr sowas wie TEXT ist.
[edit]
Hmmm ... Byte ... Bytes ... hmmmmmmmmmmm
Zitat von
Data.Bind.DBScope.pas:
mtUInteger, // TByteField, { ftByte }
ftByte doch mehr als 1 ?
[/edit]
[edit2]
Zitat:
TByteField represents a field that contains a byte value in a dataset.
TByteField encapsulates the fundamental behavior common to fields that contain byte data. Byte fields can hold values in the range 0 to 255, and are frequently used to hold small numerical values.
Doch richtig, sagt die Hilfe
ftByte kannte sie zwar, aber ohne Beschreibung dazu.
[/edit2]
Erstmal muß FireDac es auch "können" diesen Datenbank-FieldTyp in die Daten dieses Delphi-Fields zu übernehmen.
Dann brauchst du auch noch den passenden TField-Typen, zum ftBytes.
und wenn das geht:
entweder du erstellst die TField's selber
oder du mußt irgendwo den Typen registrieren.
Irgendwo gibt es Übersetzungstabellen (Arrays/Listen), in welchen drin steht, was zu wem übersetzt wird.
z.B. INTEGER -> eventuell noch ein ZwischenTyp in der
DB-Komponente und noch Einer in der Datenbank-
API -> ftInteger -> TIntegerField -> und zum Schluß haben besserere DBGrids bestimmt nochmal eine Übersetzung zum Column-Type
Zitat:
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.
Und wenn die Codepage / Codierung das nicht mag, dann raucht es ganz ab.
Wenn, dann natürlich so in einen String konvertieren, dass diese Probleme nicht auftauchen.
z.B. HEX, Base64, oder nur die "bösen" Zeichen irgendwie maskieren oder ersetzen.