AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datansatz alle Felder kopieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datansatz alle Felder kopieren

Ein Thema von needatip · begonnen am 2. Nov 2005 · letzter Beitrag vom 3. Nov 2005
Antwort Antwort
Seite 1 von 2  1 2      
needatip

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

Datansatz alle Felder kopieren

  Alt 2. Nov 2005, 20:42
Datenbank: SQL Server • Zugriff über: ADO
Hallo,
wie kann ich alle Felder eines Datensatzes kopieren und in einen bereits bestehenden Datensatz kopieren ?
Ich möchte keinen neuen Datensatz anfügen, sondern die Feldinhalte sollen wie gesagt in den bestehenden Datensatz kopiert werden ?
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Datansatz alle Felder kopieren

  Alt 2. Nov 2005, 20:44
Wie wärs denn mit einem Array of variant, in das Du alle Feldinhalte reinschreibst und in den anderen Satz überträgst?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Datansatz alle Felder kopieren

  Alt 2. Nov 2005, 20:57
Hai needatip,

ich stelle ersteinmal die Frage nach dem Sinn der Aktion

Wenn Du zwei exakt gleiche Datensätze in der Tabelle hast kannst Du diese auch nicht mehr selektiv abfragen da es ja keinen Unterschied gibt. Du hast also zweimal die selben Daten in der Tabelle und kannst doch nichts damit anfangen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
needatip

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

Re: Datansatz alle Felder kopieren

  Alt 2. Nov 2005, 21:08
Nein, es sind keine Datensätze mit gleichen Feldinhalten.
Ich möchte lediglich beim Eintrag eines bestehenden Datensatzes erreichen, dass nicht alle Felder erneut eingegeben werden müssen, sondern dass nur nach dem Kopieren der Felder ein paar abgeändert werden müssen.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Datansatz alle Felder kopieren

  Alt 2. Nov 2005, 21:14
Zitat von needatip:
Nein, es sind keine Datensätze mit gleichen Feldinhalten.
*g* So war es aber in deiner ursprünglichen Frage gefordert

Zitat:
Ich möchte lediglich beim Eintrag eines bestehenden Datensatzes erreichen ...
Wir müssen uns ersteinmal einigen was Du, wie meinst.
Ein bestehender Datensatz wird ja in der Tabelle nicht eingetragen. Dieser wurde schon eingetragen.

Gerade beim formulieren einer Frage zum Thema "programmieren" ist es sehr wichtig das Problem so zu beschreiben das es "jeder" verstehen und nachvollziehen kann.

Beschreibe doch mal was aus der Sicht des Anwenders passieren soll. Dann finden wir sicher auch eine Lösung für dich als Entwickler.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
needatip

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

Re: Datansatz alle Felder kopieren

  Alt 2. Nov 2005, 21:14
Kann ich das so in etwa machen ?

Delphi-Quellcode:
var
  Felder: array of variant;
  i : integer;
  FAnzahl : integer;
begin
    FAnzahl := Table1.fields.count -1;
    for i := 0 to FAnzahl do
    Felder[i] := Table1.fields[i].value;
end;
..und wie kriege ich dann die Felder in den bestehenden Datensatz ?

Geht es vielleicht auch mit SQL ?
  Mit Zitat antworten Zitat
needatip

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

Re: Datansatz alle Felder kopieren

  Alt 2. Nov 2005, 21:22
Also nochmals ganz von vorne.
Ich möchte Daten in eine Tabelle eintragen, die ca. 100 Datenfelder hat.
Ein anderer User trägt vorab nur die wichtigsten Daten in einen neuen Datensatz ein.
Dieser Datensatz wird dann schon mal in die Datenbank geschrieben.
Nach einer gewissen Zeit werden dann weitere Daten gesammelt.
Da nun Datensätze mit ähnlichen Daten vorkommen, sollen die Felder halt eben in den nächsten, aber bereits bestehenden Datensatz kopiert werden. Das soll halt Tipparbeit oder Kopierarbeit sparen !
  Mit Zitat antworten Zitat
Hansa

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

Re: Datansatz alle Felder kopieren

  Alt 2. Nov 2005, 21:31
Gehen wir mal von Table1 (Dataset1) aus und die hat ein Feld Name. Dieser Name soll in Table2 (Dataset2) rein und zwar von allen Datensätzen. Ist das richtig ?

Also brauche ich zumindest alle Namen aus Table 1 :

Delphi-Quellcode:
Dataset1.close;
Dataset1.SelectSQL.Text := 'SELECT NAME FROM TABLE1'; // oder * für alle
Dataset1.open;
Somit stehen die Daten bereit und ich gehe sie durch :

Delphi-Quellcode:
Dataset1.First;
while not Dataset1.EOF do begin
  Dataset2.Insert; // Daten einfügen und in DB Trigger für AutoID anlegen !
  Dataset2.FieldByName ('Name') := Dataset1.FieldByName ('Name');
... notfalls andere Felder auch noch besetzen
  Dataset1.Next;
end;
Gruß
Hansa
  Mit Zitat antworten Zitat
needatip

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

Re: Datansatz alle Felder kopieren

  Alt 2. Nov 2005, 21:38
Hab ich verstanden. Ich möchte aber die Feldinhalte vom aktuellen Datensatz kopieren, dann zu einem bestimmten Datensatz gehen und dann diese Feldinhalte in diesen Datensatz einfügen.
  Mit Zitat antworten Zitat
Hansa

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

Re: Datansatz alle Felder kopieren

  Alt 2. Nov 2005, 22:52
Was verstanden ? Sieht eher nach unvollständigem SQL-Wissen aus. Ich würde mich in der Richtung mal etwas schlauer machen. 8) Soll nur ein DS gesucht werden, dann muß WHERE her. Und dann geht es wie gesagt weiter :

Delphi-Quellcode:
Dataset1.close;
Dataset1.SelectSQL.Text := 'SELECT NAME FROM TABLE1 WHERE ...'; // oder * für alle
Dataset1.open;
Dataset2.FieldByName ('Name') := Dataset1.FieldByName ('Name');
Gruß
Hansa
  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 12:59 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