Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Tabellen zur laufzeit erstellen (https://www.delphipraxis.net/77595-tabellen-zur-laufzeit-erstellen.html)

Uwe 111 21. Sep 2006 18:23

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:
      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;
Vielleicht auch für die anderen Feldtypen posten?

Mfg
Uwe 111

marabu 21. Sep 2006 18:58

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

Uwe 111 21. Sep 2006 19:04

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