Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datensatz kopieren - wie? (https://www.delphipraxis.net/37377-datensatz-kopieren-wie.html)

Quake 5. Jan 2005 09:37


Datensatz kopieren - wie?
 
Hallo,

ich verwende Interbase bzw. Firebird. Ich möchte alle Daten eines Datensatzen in einen neuen Datensatz kopieren oder anders gesagt einen Datensatz klonen. Wie stelle ich das am dümmsten an? :gruebel:
Es ist dabei egal ob die Daten in einem neuen oder bestehenden Datensatz kopiert werden. Ich stelle mir das so vor wie in MS Access ich markiere einen Datensatz, sage kopieren, gehe zu einem anderen bzw. neuen Datensatz und sage einfügen.

bye Quake

Albi 5. Jan 2005 09:46

Re: Datensatz kopieren - wie?
 
Hallo,

Du könntest Dir ne StoredProc basteln. Du übergibst die ID des Datensatzes an die StoredProc und diese kopiert den Datensatz dann.

Quake 5. Jan 2005 09:53

Re: Datensatz kopieren - wie?
 
Meist du damit das in der Stored Procedure sowas wie INSERT INTO table SELECT * FORM tabel WHERE ID=... steht?
geht das auch mit dem SQL Komando UPDATE für einen bestehenden Datensatz?

Albi 5. Jan 2005 10:00

Re: Datensatz kopieren - wie?
 
Ich ja genau,

die Frage die sich stellt ist nur, ob die Zieltabelle immer die selbe ist. Wenn das so ist, dann kannst es so machen.

Du übergibs also die ID des zu kopierenden DS in SP und wenn du es updates natürlich auch noch die ID des zu updaten DS.

So in etwa, wenn Ziel_ID gleich 0 dann insert Statement und wenn größer 0 dann update Statement.

Quake 5. Jan 2005 11:39

Re: Datensatz kopieren - wie?
 
Ja, ist die selbe Zieltabelle. Dank erstmal ich probiere es mal aus.
Kann ich dabei statt die einzelnen Spalten anzugeben auch mit dem * arbeiten um alle Spalten zu kopieren?

Albi 5. Jan 2005 13:19

Re: Datensatz kopieren - wie?
 
Ich habe das zwar noch versucht aber ich denke mal nicht.

Wenn Du mit Insert Into oder Update arbeitest must Du doch zwangsläufig die Parameter angeben, da wirst meines wissens nicht drumrum kommen.


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