Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datensätze verschieben! (https://www.delphipraxis.net/20269-datensaetze-verschieben.html)

thomasvonmuenster1 15. Apr 2004 12:10


Datensätze verschieben!
 
Tabelle Lager und Tabelle Baustelle.
Bestimmte Datensätze solle in Tabelle Baustelle verschoben werden!
Bsp.5 Maschienen sollen auf die Baustelle.
Sollen von Lager in Baustelle verschoben werden.

Memo 15. Apr 2004 12:22

Re: Datensätze verschieben!
 
Na dann mal rann. Wenn du dann eine Frage hast melde dich einfach.

thomasvonmuenster1 15. Apr 2004 12:25

Re: Datensätze verschieben!
 
Wie kann man einen Datensatz verschieben?
In Access Tabellen!

shmia 15. Apr 2004 12:41

Re: Datensätze verschieben!
 
Zitat:

Zitat von thomasvonmuenster1
Tabelle Lager und Tabelle Baustelle.
Bestimmte Datensätze solle in Tabelle Baustelle verschoben werden!

Du darfst keine Datensätze verschieben (falsches Datenbank-Design) !
Ich würde folgende Tabellen vorschlagen:
Code:
- Devices (=Geräte, Dinge, Baumaschinen)
  Schlüsselfeld ist IdDevice

- Standorte (pro Baustelle ein Datensatz; auch jedes Lager ist ein Datensatz)
  Schlüsselfeld ist IdLocation

- DeviceMenge (mit den Feldern IdDevice, IdLocation und Anzahl)
  Schlüsselfelder sind IdDevice & IdLocation
Soll eine Baumaschine vom Lager auf eine Baustelle, dann muss lediglich in der Tabelle
DeviceMenge in 2 Datensätzen das Feld Anzahl verändert werden.

bttb930 15. Apr 2004 12:46

Re: Datensätze verschieben!
 
du schreibst ja super beiträge, der andere mit den tabellen senkrecht ist genauso klasse.

machs mit ner abfrage:

Delphi-Quellcode:
with TADOQuery.Create do
try
  Connection := ...
  SQL.Clear;
  SQL.Add('INSERT INTO tab2 (SELECT * FROM tab1 WHERE whereclause)');
  if ExecSQL > 0 then
  begin
    SQL.Clear;
    SQL.Add('DELETE FROM tab1 WHERE whereclause');
    ExecSQL;
  end;
finally
  Free;
end;
Irgendwie so müsste es klappen. Wobei die Tabellen gleiche Felder haben müssen. Und mit dem DELETE-Befehl solltest Du vorsichtig sein: Wenn der vorherige INSERT-Befehl fehlgeschlagen ist, dann löschst Du Daten die Du nicht löschen willst.

bttb930 15. Apr 2004 12:48

Re: Datensätze verschieben!
 
wobei shmia auf jeden Fall Recht hat: Verschieben ist in relationalen Datenbanken unnötig. Wenn man Datensätze verschieben möchte, dann sollte man sich nicht fragen "wie verschiebe ich?" sondern "wo ist mein datenbankdesign so mangelhaft dass ich's ändern sollte?".

thomasvonmuenster1 15. Apr 2004 13:41

Re: Datensätze verschieben!
 
Ihr denkt doch nicht etwa ich hätte nur diese Tabellen.
Es sind 11 Tabellen und 17 Abfragen mit den ich arbeite.
Wollte nur einen anderen weg versuchen der schneller geht.
Man hat nur gefragt ob man Datensätze verschieben kann.
Danke.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:41 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