![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: BDE
Tabellen zur laufzeit erstellen
Hallo
Ich habe ein Problem mit den Feldgrößen? Könnte mir jemand mal Helfen?
Delphi-Quellcode:
Vielleicht auch für die anderen Feldtypen posten?
WITH table1 DO BEGIN
DatabaseName:='DB'; TableName:= 'Kunden.DB'; Tabletype:=ttParadox; END; IF NOT table1.exists THEN BEGIN with table1 do begin Active := False; with FieldDefs do begin Clear; Add('ID', ftAutoinc,0, True); Add('Vorname', ftString, 30, FALSE); Add('Nachname', ftString, 30, FALSE); Add('Strasse', ftString, 50, FALSE); Add('PLZ', ftInteger, 0, FALSE); Add('Ort', ftString, 20, FALSE); Add('Datum', ftDate, 0, False); Add('Image', ftGraphic, <---- Hier weis ich nicht weiter end; with IndexDefs do begin Clear; Add('iID', 'ID', [ixPrimary,ixUnique]); Add('secVorname', 'Vorname', [ixCaseInsensitive]); end; CreateTable; Active := True; end; end; end; Mfg Uwe 111 |
Re: Tabellen zur laufzeit erstellen
Hallo Uwe,
laut Online-Hilfe sollst du statt Add() die Methode AddFieldDef() benutzen. Die Größenangabe ist für die einzelnen Feldtypen unterschiedlich zu interpretieren. Bei BLOB-Feldern (ftMemo, ftGraphic, ...) kann Size einen Wert von 0 bis 240 annehmen und legt fest, wieviel Bytes der Daten direkt in der Tabelle gespeichert werden - der Rest wird extern verwaltet. Bei ftMemo macht ein Wert größer 0 sicher Sinn, weil so schnell auf den Beginn eines Textes zugegriffen und dem Benutzer signalisiert werden kann, ob das Memo leer ist oder nicht. Bei ftGraphic würde ich Size wohl eher mit 0 angeben, da die gespeicherte Information sicher nur als Ganzes verwertet werden kann. Grüße vom marabu |
Re: Tabellen zur laufzeit erstellen
Hallo marabu
Erst mal vielen dank für deine Antwort. Ich werde es so ausprobieren wie Du es geschrieben hast. MfG Uwe 111 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz