AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Feld an den Anfang einer Tabelle hinzufügen
Thema durchsuchen
Ansicht
Themen-Optionen

Feld an den Anfang einer Tabelle hinzufügen

Ein Thema von DBman · begonnen am 1. Jul 2003 · letzter Beitrag vom 13. Jul 2003
 
DBman

Registriert seit: 31. Mai 2003
Ort: nähe hannover
77 Beiträge
 
#37

Re: Feld an den Anfang einer Tabelle hinzufügen

  Alt 13. Jul 2003, 15:36
Nachdem ich im OI Table1.Active auf false gesetzt hatte funktioniert es jetzt endlich.
Der Code zum hinzufügen einer AutoInc Spalte an den Anfang einer Paradox-Tabelle sieht dann so bei mir aus (vielleicht gehts auch noch eleganter , aber so funktionierts bei mir zumindest) :

Delphi-Quellcode:
procedure TForm1.erzeugeClick(Sender: TObject);
var i:Integer;
    alterTabellenName:String;
begin
Table1.Active:=true; //Table1 geöffnet
 with Table2 do
 begin
 Active := false; //Table2 geschlossen

 DatabaseName := 'STM';
 TableType := ttParadox;
 TableName := 'mitZaehler.db';

  { Dann die Felder in der Tabelle beschreiben }
  with FieldDefs do begin
    Clear;
      with AddFieldDef do begin
        Name := 'Zaehler';
        DataType := ftAutoInc;
        Required := True;

for i:=0 to Table1.Fields.Count-1 do
                                //Tabellenstruktur übernehmen
      Table2.FieldDefs.Add( Table1.Fields[i].FullName , Table1.Fields[i].DataType,
                           Table1.Fields[i].Size, Table1.Fields[i].Required);

       end;

  end;
   CreateTable;
 end;


 Table1.Active:=false;
 Table2.Active:=false;

 BatchMove.Mappings.Clear;
for i:=0 to Table1.Fields.Count-1 do
    Batchmove.Mappings.Add(Table1.Fields[i].FullName + '=' + //Mappingsarray füllen
                           Table1.Fields[i].FullName );

          Batchmove.Mode:=batAppend;
          Batchmove.Execute;

 Showmessage('Table2: ' + Table2.TableName);
 Showmessage('Table1: ' + Table1.TableName);
 alterTabellenName:=Table1.TableName;
 Table1.DeleteTable;
 Table2.RenameTable(alterTabellenName);
 Table2.Active:=False;
 Table2.AddIndex('','Zaehler',[ixPrimary]);

 end;
Denn die Dinge , die wir erst lernen müssen , bevor wir sie tun , lernen wir beim Tun. - Aristoteles
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 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-2025 by Thomas Breitkreuz