AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Feldwerte kopieren

Ein Thema von needatip · begonnen am 18. Dez 2006 · letzter Beitrag vom 19. Dez 2006
Antwort Antwort
needatip

Registriert seit: 11. Jan 2004
246 Beiträge
 
Delphi 10.4 Sydney
 
#1

Feldwerte kopieren

  Alt 18. Dez 2006, 20:34
Datenbank: SQL Server 2000 • Zugriff über: ADO
Hallo,
wie kann man bestimmte Felder eines Datensatzes einer Tabelle1 mit den Feldwerten eines Datensatzes einer anderen Tabelle2 ersetzen?
z.B. Tabelle Kunden: Name,Strasse,Plz,Ort,Land,Tel,Fax
Tabelle Adressen: Name,Strasse,Ort
Jetzt soll ein einzelner aktueller Datensatz der Tabelle Kunden mit den Feldwerten des aktuellen Datensatzes der Tabelle Adressen
geändert bzw. überschrieben werden.

Natürlich kann ich es so machen:
Delphi-Quellcode:
Kunden.FieldByName('Name').AsString := Adressen.FieldByName('Name').AsString;
Kunden.FieldByName('Strasse').AsString := Adressen.FieldByName('Strasse').AsString;
Kunden.FieldByName('Ort').AsString := Adressen.FieldByName('Ort').AsString;
Da dies aber nur ein Beispiel ist und ich ca. 40 Felder kopieren muss, frage ich ob es nicht eine elegantere Lösung gibt.

Vielleicht mit SQL
SQL-Code:
UPDATE Kunden
SET (Kunden.Feldliste) = (Adressen.Feldliste)
WHERE Kunden.Nr = Adressen.Nr
o. so ähnlich?
  Mit Zitat antworten Zitat
Hansa

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

Re: Feldwerte kopieren

  Alt 18. Dez 2006, 20:52
Das ist nicht viel, aber eher Sache der Zugriffskomponenten. Würde da jedenfalls keine Zusatztabelle nehmen. Bei IB/FB und FIBPlus siehts z.B. so aus :

procedure CloneCurRecord (..Ignorefields : array of ...) Herrje, ADO und Micky-SQL ? Da muss ich konkret zumindest passen.
Gruß
Hansa
  Mit Zitat antworten Zitat
needatip

Registriert seit: 11. Jan 2004
246 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Feldwerte kopieren

  Alt 18. Dez 2006, 21:04
Das hilft mir nicht wirklich weiter.
Gibt es nicht soetwas wie 'Fieldmapping' mit SQL, so dass man die Felder vorher zuordnen kann?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Feldwerte kopieren

  Alt 18. Dez 2006, 21:07
select <Feldliste> from <Tabelle1> into ...
Markus Kinzler
  Mit Zitat antworten Zitat
needatip

Registriert seit: 11. Jan 2004
246 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Feldwerte kopieren

  Alt 18. Dez 2006, 21:12
Wird mit SELECT INTO nicht ein neuer Datensatz angefügt?
Das möchte ich aber vermeiden. Die Daten sollen in den aktuellen Datensatz eingefügt werden.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Feldwerte kopieren

  Alt 18. Dez 2006, 21:16
Zitat:
Wird mit SELECT INTO nicht ein neuer Datensatz angefügt?
Ja.
Markus Kinzler
  Mit Zitat antworten Zitat
Hansa

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

Re: Feldwerte kopieren

  Alt 18. Dez 2006, 23:02
Zitat von needatip:
...Die Daten sollen in den aktuellen Datensatz eingefügt werden.
Ja dann ist die Frage doch schon von Dir selber beantwortet. Entweder feldweise oder per Cloning (Teil)-Datensätze herumschieben. Ob MS-SQL das kann ? KA.

P.S.: SELECT INTO betrifft übrigens das :
Zitat von Hansa:
Würde da jedenfalls keine Zusatztabelle nehmen.
Gruß
Hansa
  Mit Zitat antworten Zitat
needatip

Registriert seit: 11. Jan 2004
246 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Feldwerte kopieren

  Alt 19. Dez 2006, 07:20
OK, dann bleibt mir nichts anderes übrig als feldweise zu übertragen !
Trotzdem vielen Dank.
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:15 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