AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datensätze duplizieren / kopieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datensätze duplizieren / kopieren

Ein Thema von RWarnecke · begonnen am 27. Dez 2005 · letzter Beitrag vom 27. Dez 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

Datensätze duplizieren / kopieren

  Alt 27. Dez 2005, 15:25
Datenbank: Interbase • Version: 6.0 • Zugriff über: Interbase Komponenten von Delphi 6
Hallo,

folgendes Problem. Ich habe eine bestimmte Liste, die mir in einem DBGrid angezeigt wird. Diese Liste soll jetzt kopiert werden und in die gleiche Datenbanktabelle eingefügt werden, wie die Liste aus dem DBGrid. Beim kopieren soll ein Feld von dem Wert 0 auf 1 geändert werden. Wie würdet Ihr das Problem angehen ?

Die Liste wird mit einer einfachen Select-Abfrage erzeugt. Habt Ihr dazu ein paar Vorschläge, wie es am schnellsten und am effektivsten geht ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: Datensätze duplizieren / kopieren

  Alt 27. Dez 2005, 16:18
Zitat von RWarnecke:
Diese Liste soll jetzt kopiert werden und in die gleiche Datenbanktabelle eingefügt werden, wie die Liste aus dem DBGrid.
Zusätzlich zu den vorhandenen Werten, oder soll nur die 1 bzw. 0 ersetzt werden ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

Re: Datensätze duplizieren / kopieren

  Alt 27. Dez 2005, 18:26
Ich habe folgende Tabelle mit Werten (dieses ist nur ein Beispiel) :

ID -> 758 (Autoinc)
Anzahl -> 5
Artikelnummer -> 10435
Referenz_ID -> 901005
Art -> 0

So, das ist jetzt nur eine Position in der Liste. Zu der Referenz_ID gibt es natürlich noch weitere Positionen. Art legt nur fest, ob es die Version 0 oder 1 ist. So ich habe jetzt eine Tabelle, wo über die Art 0 drinsteht. Jetzt möchte ich dem User die Möglichkeit geben, die Version 0 nach 1 zu kopieren. Ein Beispiel :

Ich habe bei der Referenz_ID 901005 Version 0 eine Liste mit 15 unterschiedlichen Artikeln. Jetzt möchte ich diese 15 unterschiedlichen Artikel kopieren, das dann die Kopie die Version 1 ist. Das heißt, es müssen die Felder Anzahl, Artikelnummer und Referenz_ID 1:1 kopiert werden. Beim Einfügen in die gleiche Tabelle, wird dann der Wert Art immer auf 1 gesetzt.

Ich hoffe ich habe mich etwas verständlicher ausgedrückt als im ersten Eintrag.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

Re: Datensätze duplizieren / kopieren

  Alt 27. Dez 2005, 20:08
Zitat von RWarnecke:
Ich hoffe ich habe mich etwas verständlicher ausgedrückt als im ersten Eintrag.
Ne.

Zumindest nicht als Antwort hierdrauf :
Zitat:
Zusätzlich zu den vorhandenen Werten, oder soll nur die 1 bzw. 0 ersetzt werden ?
Der neue Beitrag deutet auch eher zusätzlich auf Master-Detail hin. Und daß die IDs nicht einfach kopiert werden können (egal von wo wohin) dürfte wohl klar sein ? Mehr ist momentan aus meiner Glaskugel nicht herauszuholen. 8)
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#5

Re: Datensätze duplizieren / kopieren

  Alt 27. Dez 2005, 20:13
Die Liste mit den Artikeln, die eine 0 haben, sollen erhalten bleiben und zusätzlich die gleichen Artikel eine 1 haben in der Spalte Art.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

Re: Datensätze duplizieren / kopieren

  Alt 27. Dez 2005, 20:25
Zitat von RWarnecke:
...zusätzlich die gleichen Artikel eine 1 haben in der Spalte Art.
Also Tabelle bleibt wie sie ist. Hinzu kommen die Artikel mit der 1 ? Und die kriegen dann statt der 1 eine 0 und alles andere bleibt wie vorher ? Die sind dann doppelt und haben entweder 1 oder 0 ? Scheinst ja online zu sein.
Gruß
Hansa
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Datensätze duplizieren / kopieren

  Alt 27. Dez 2005, 20:30
Hallo Rolf,

meinst du das hier?

SQL-Code:
INSERT INTO tabelle (Anzahl, ArtikelNummer, Art, ReferenzId)
  SELECT Anzahl, ArtikelNummer, 1, ReferenzId
  FROM tabelle
  WHERE ReferenzId = 901005
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#8

Re: Datensätze duplizieren / kopieren

  Alt 27. Dez 2005, 20:40
@Hansa :

Zitat von Hansa:
Also Tabelle bleibt wie sie ist. Hinzu kommen die Artikel mit der 1 ?
Ja, die gleichen Artikel.
Zitat von Hansa:
Und die kriegen dann statt der 1 eine 0 und alles andere bleibt wie vorher ?
Ja.
Zitat von Hansa:
Die sind dann doppelt und haben entweder 1 oder 0 ?
Ja

@marabu :

Dein SQL-Code funktioniert nicht ganz, da ich ja irgendwie die AutoInc-Funktion für die Spalte ID setzen muss.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#9

Re: Datensätze duplizieren / kopieren

  Alt 27. Dez 2005, 20:45
Wenn der Code vom Marabu so (fast) reichen würde, dann fehlt Dir bloß noch ein geeigneter Trigger und das wars ! W kommt die vorhandene ID denn überhaupt her ? AutoInc
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#10

Re: Datensätze duplizieren / kopieren

  Alt 27. Dez 2005, 20:50
Das Feld ID wird durch einen Generator gefüllt.

Edit:
Es wird aber im Code nur der Wert des Generators abgefragt und dann in das Feld ID eingtragen.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 13:02 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