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 3 von 4     123 4      
DBman

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

Re: Feld an den Anfang einer Tabelle hinzufügen

  Alt 9. Jul 2003, 19:35
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.

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
 
#22

Re: Feld an den Anfang einer Tabelle hinzufügen

  Alt 9. Jul 2003, 20:41
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.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

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

Re: Feld an den Anfang einer Tabelle hinzufügen

  Alt 9. Jul 2003, 21:27
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).
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
DBman

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

Re: Feld an den Anfang einer Tabelle hinzufügen

  Alt 12. Jul 2003, 13:14
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).
Denn die Dinge , die wir erst lernen müssen , bevor wir sie tun , lernen wir beim Tun. - Aristoteles
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

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

Re: Feld an den Anfang einer Tabelle hinzufügen

  Alt 12. Jul 2003, 16:48
Hallo DBman,

sach dat doch gleich...

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.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
DBman

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

Re: Feld an den Anfang einer Tabelle hinzufügen

  Alt 12. Jul 2003, 19:05
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...
? ?
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
 
#27

Re: Feld an den Anfang einer Tabelle hinzufügen

  Alt 13. Jul 2003, 09:01
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
  Mit Zitat antworten Zitat
DBman

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

Re: Feld an den Anfang einer Tabelle hinzufügen

  Alt 13. Jul 2003, 12:44
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..
? ?
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
 
#29

Re: Feld an den Anfang einer Tabelle hinzufügen

  Alt 13. Jul 2003, 12:46
Und welche der beiden Tabellen?
  Mit Zitat antworten Zitat
DBman

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

Re: Feld an den Anfang einer Tabelle hinzufügen

  Alt 13. Jul 2003, 12:56
Wieder Table1 , bzw. die Tabelle die mit Table1 verknüpft ist.
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 3 von 4     123 4      


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 01:52 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