Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi AnyDac und Feldtyp ftMemo <Size> (https://www.delphipraxis.net/203234-anydac-und-feldtyp-ftmemo-size.html)

Gremlin 27. Jan 2020 11:56

Datenbank: AnyDAC • Version: 7.x • Zugriff über: D7

AnyDac und Feldtyp ftMemo <Size>
 
Hallöchen,


ich habe hier eine Tabelle TADMemTable, mit der ich die Struktur über FieldDefs erstelle, fülle und anschließend auf die Festplatte via SaveFoTile im Binärformat schreibe.

Problem:

Das Memofeld wird überraschend nach 10 Zeichen abgeschnitten :(

Wird eine Tabellenstruktur über eine TADMemTable auf dem Formular zur Designzeit erstellt und via DBGrid+DBMemo+DBNavigator zur Laufzeit gefüllt und im Binärformat gespeichert, so wird das Memo nicht abgeschnitten.

Jemand eine Idee, woran das liegen könnte?
Alle anderen mir bekannten Komponenten machen dies nicht.


Beispiel

Code:
[...]
Table.Create...
Table.FieldDefs.Add('Nr', ftInteger, 0, False);
Table.FieldDefs.Add('Name', ftString, 20, False);
Table.FieldDefs.Add('MemoFeld', ftMemo, 10, False);
try
  Table.CreateDataSet;
  Table.BeginBatch;
  for i := 1 to 10 do begin
    Table.Append;
    Table.FieldByName('Nr').AsInteger := i;
    Table.FieldByName('Name').AsString := 'x';
    Table.FieldByName('MemoFeld').AsString := 'Das ist ein Memofeld';
    Table.Post;
  end;
  Destin.EndBatch;
  Destin.SaveToFile(<Filename.dat', sfBinary);
except
  [...]
end;

hoika 27. Jan 2020 12:01

AW: AnyDac und Feldtyp ftMemo <Size>
 
Hallo,
Table.FieldDefs.Add('MemoFeld', ftMemo, 10, False);

Du hast ja auch nur 10 Zeichen ...

Probier mal
Table.FieldDefs.Add('MemoFeld', ftMemo);

Gremlin 27. Jan 2020 12:45

AW: AnyDac und Feldtyp ftMemo <Size>
 
Vielen Dank für deine Hilfe.

Machmal sieht man die einfachsten Dinge nicht mehr :(:o:lol:

Die Lösung:

Ich hab die Tabellenstruktur noch einmal überprüft (FieldsDefs und Fields) und bei der Ausgabe von Fields war es kein Memo, sondern ein String der durch ein ftString an anderer Stelle gesetzt wurde.

hoika 28. Jan 2020 00:19

AW: AnyDac und Feldtyp ftMemo <Size>
 
Geht doch ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz