Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Feld an den Anfang einer Tabelle hinzufügen (https://www.delphipraxis.net/6158-feld-den-anfang-einer-tabelle-hinzufuegen.html)

DBman 9. Jul 2003 20:35

Re: Feld an den Anfang einer Tabelle hinzufügen
 
Hä?
Ich will doch die Spalten der anderen Tabelle da automatisch hinzufügen ,
ich will doch nicht extra noch die Spalten ein zweites mal mit createtable erzeugen , und dann die inhalte von tabelle 1 da rein kopieren.. ?!?
Das wird alles viel zu umständlich.

:chat:

r_kerber 9. Jul 2003 21:41

Re: Feld an den Anfang einer Tabelle hinzufügen
 
:wiejetzt: Du willst Tabelle A nach Tabelle B kopieren. Entweder Du erstellst Tabelle B vorher mit allen benötigten Spalten (und den erforderlichen Namen) oder Du erstellst die Tabelle zur Laufzeit mit allen benötigten Spalten.

MrSpock 9. Jul 2003 22:27

Re: Feld an den Anfang einer Tabelle hinzufügen
 
Hallo DBMan,
ich habe das so verstanden, dass du die Originaltabelle nimmst, diese leerst und anschließend über die Datenbank Oberfläche vorne eine ID Feld hinzufügst. Diese Tabelle solltest du dann als Destination angeben.

Grundsätzlich solltest du dir auch mal den Wert der Eigenschaft Mode von TBatchMove anschauen. Nur batCopy erzeugt eine neue Tabelle (aber mit der Struktur der alten Tabelle, dort würde also das ID Feld fehlen).

DBman 12. Jul 2003 14:14

Re: Feld an den Anfang einer Tabelle hinzufügen
 
DARUM geht es doch als einziges.
Ich will nicht über die Datenbankoberfläche dieses eine Feld hinzufügen sondern über den Code....
Aber das kriege ich nicht hin.
Das is auch schon mein einziges Problem (aber scheint ja doch komplizierter zu sein). :spin:

MrSpock 12. Jul 2003 17:48

Re: Feld an den Anfang einer Tabelle hinzufügen
 
Hallo DBman,

sach dat doch gleich... :mrgreen:

Also, wenn du das Feld vorne anfügen willst, war der Code, den du oben gepostest hast ja schon richtig. Du hast in Table2 das Feld Zaehler als erstes Feld eingefügt. Anschließend -und das fehlte in deinem Code noch- kannst du die FieldDefs von Table1 in einer Schleife den FieldDefs von Table2 zuweisen und dann, abschließend, mit Bachmove unter Berücksichtigung des Mapping Arrays die Daten kopieren. Am Ende ggf. noch die Tabellen umbenennen.

DBman 12. Jul 2003 20:05

Re: Feld an den Anfang einer Tabelle hinzufügen
 
Mr Spock ich hab das jetzt so gemacht , das einzige was nur noch nich funktioniert ist das umbennen der Tabelle am Ende:
Delphi-Quellcode:
//....
 Batchmove.Execute;


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

 Table2.RenameTable(Table1.TableName);
und da kriege ich die Fehlermeldung , dass die Tabelle(table1) bereits im Gebrauch ist ... aber ich habe die doch geschlossen...
? :bounce1: ?

r_kerber 13. Jul 2003 10:01

Re: Feld an den Anfang einer Tabelle hinzufügen
 
Hallo DBman,

Auszug aus der OH:
Zitat:

RenameTable benennt die Tabelle und die zugehörigen Dateien um (für Paradox z.B. DB- und MB-Dateien).
Da für Table1 bereits eine Datei existiert, kannst Du diese Umbennung so nicht durchführen! Versuchs's mal so:
  1. Tabellennamen von Table1 in Variable speichern.
  2. Table1 umbenennen (oder löschen)
  3. Table2 umbenennen

DBman 13. Jul 2003 13:44

Re: Feld an den Anfang einer Tabelle hinzufügen
 
Auch so geht es nicht:
Delphi-Quellcode:
//...
Batchmove.Execute;
 Table1.Active:=false;
 Table2.Active:=false;

   alterTabellenName:=Table1.TableName;
 Table1.RenameTable('aaaa.db');
 Table2.RenameTable(alterTabellenName);
Kriege wieder den gleichen Fehler dass die Tabelle noch im Gebrauch ist..
? :bounce1: ?

r_kerber 13. Jul 2003 13:46

Re: Feld an den Anfang einer Tabelle hinzufügen
 
Und welche der beiden Tabellen?

DBman 13. Jul 2003 13:56

Re: Feld an den Anfang einer Tabelle hinzufügen
 
Wieder Table1 , bzw. die Tabelle die mit Table1 verknüpft ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:15 Uhr.
Seite 3 von 4     123 4      

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