Wir betreiben eine Datenbank-Anwendung (Delphi 10.3 Rio,
Vcl, FireDAC, SQLite)
Folgendes ist uns aufgefallen (und nicht verstehen):
Die SQLite-Datenbank hat u.a. ein Feld mit dem Typ STRING(2). Wenn wir da z.B. „07“ abspeichern, die Tabelle wieder öffnen und das Feld auslesen (FieldByName().AsString) wird „7“ zurückgeliefert. In der Tabelle ist auch wirklich nur eine „7“ gespeichert (mit SQLManager nachgeprüft).
Wenn wir den Typ auf VARCHAR(2) für dieses Feld ändern, wird „07“ zurückgeliefert.
„07“ ist der richtige Wert, wird auch im weiteren Programmverlauf nicht in ein Zahlformat umgewandelt.