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
Antwort Antwort
Seite 4 von 4   « Erste     234   
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#31

Re: Feld an den Anfang einer Tabelle hinzufügen

  Alt 13. Jul 2003, 13:10
Und Du bist Dir ganz sicher, dass Du die Tabellen-Dateien (name.db) nicht durch ein anderes TTable-Object noch in Benutzung hast?
  Mit Zitat antworten Zitat
DBman

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

Re: Feld an den Anfang einer Tabelle hinzufügen

  Alt 13. Jul 2003, 13:31
ja da bin ich mir sicher.

ich habe die ja durch
Delphi-Quellcode:
table1.active:=false
        table2.active:=false
geschlossen.
Denn die Dinge , die wir erst lernen müssen , bevor wir sie tun , lernen wir beim Tun. - Aristoteles
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#33

Re: Feld an den Anfang einer Tabelle hinzufügen

  Alt 13. Jul 2003, 13:49
Dann weiß ich leider auch nicht weiter.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#34

Re: Feld an den Anfang einer Tabelle hinzufügen

  Alt 13. Jul 2003, 13:51
Hallo DBman,

manchmal tritt der Fehler auf, weil man in der IDE die Tabellen noch geöffnet hat, indem man schon im OI Active auf True gesetzt hat. Ist das auch bei dir der Fall?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#35

Re: Feld an den Anfang einer Tabelle hinzufügen

  Alt 13. Jul 2003, 13:56
Zitat von MrSpock:
manchmal tritt der Fehler auf, weil man in der IDE die Tabellen noch geöffnet hat, indem man schon im OI Active auf True gesetzt hat.
Stimmt, das hatte ich ganz vergessen. Ist mir auch schon passiert.
  Mit Zitat antworten Zitat
DBman

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

Re: Feld an den Anfang einer Tabelle hinzufügen

  Alt 13. Jul 2003, 14:27
Ja Mr. Spock irgendwie hat mich das schon weitergebracht
Aber jetzt wird komischerweise immer noch bei Table2 rumgemeckert , dass die noch im Gebrauch ist..... hm.
Obwohl ich das im OI nicht auf Active gesetzt hatte...

Naja ich probier nochmal n bissel.
Denn die Dinge , die wir erst lernen müssen , bevor wir sie tun , lernen wir beim Tun. - Aristoteles
  Mit Zitat antworten Zitat
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
Antwort Antwort
Seite 4 von 4   « Erste     234   


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 00:56 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