AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken In zwei DB suchen, vergleichen, änder?
Thema durchsuchen
Ansicht
Themen-Optionen

In zwei DB suchen, vergleichen, änder?

Ein Thema von Alterauge · begonnen am 17. Sep 2012 · letzter Beitrag vom 24. Sep 2012
Antwort Antwort
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#1

AW: In zwei DB suchen, vergleichen, änder?

  Alt 17. Sep 2012, 21:07
Erstelle dir am besten passende Tabellen in deiner DB und gieße dort die Daten aus der beigestellten hinein. Ab dann lassen sich derartige Krämpfe mit ein wenig SQL in 2-4 Zeilen in Gefallen auflösen. Wenn die gestellte DB "lebt" (also immer wieder neue Daten hinein gehen) muss man eben regelmäßig die eigene nachführen.
So auf die Art, Daten in Controls vergleichen, ist das jedenfalls die gräßlichste Möglichkeit die man so nehmen könnte.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: In zwei DB suchen, vergleichen, änder?

  Alt 18. Sep 2012, 06:17
@Alterauge: ich glaube du bräuchtest erst einmal einen Grundkurs darüber, was eine relationale Datenbank überhaupt ist.
Am Besten kaufst du dir dazu ein Buch oder du kuckst mal auf Datenbanken-Tutorials .

Eine Datenbank besteht hauptsächlich (ich vereinfache hier etwas) aus Tabellen.
Tabellen bestehen aus Feldern und Datensätzen.
Ein TDBEdit hat damit erst einmal nichts zu tun.

Wenn man Daten aus einer Datenbank lesen möchte oder bestehende Daten ändern oder neue Daten einfügen möchte, dann hat das mit Felder und Datensätzen zu tun.
Als Delphi-Programmierer muss man dazu die Klasse TDataset kennen und benützen.
TDataset ist die Basisklasse von TQuery und TTable sowie allen anderen Varianten wie z.B. TAdoTable, TAdoQuery, TIbTable,....
Delphi-Quellcode:
// Beispiel: alle Datensätze einer Tabelle auslesen
Query1.SQL.Text := 'SELECT * FROM Fahrzeug';
Query1.Open; // Datenmenge öffnen
while not Query1.Eof do // solange noch Datensätze da sind
begin
  stringlist.Add(Query1.FieldByName('Name').AsString +
    ' - ' +
    Query1.FieldByName('Status').AsString);
  Query1.Next; // nächsten Datensatz
end;
Wie man an dem Beispiel sieht, wird direkt auf die Daten zugegriffen (ohne DBEdit!).
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#3

AW: In zwei DB suchen, vergleichen, änder?

  Alt 18. Sep 2012, 07:21
Sofern DB-übergreifende SQL-Statements wirklich möglich sind, könnte es so klappen(ungetestet):
SQL-Code:
UPDATE
  DB2.Tabelle
SET
  Zustand = 'Am Einsatort'
WHERE
  Einsatznummer IN (
    SELECT
      Einsatznummer
    FROM
      DB1.Tabelle
    WHERE
      Status = 4
  )
AND
  Zustand = 'In Bearbeitung'
Wobei ich eher eine eigene Tabelle "Zustand" einrichten würde, die zumindest aus einem AutoInc-Wert und einem Varchar besteht. Dann würde nicht der Zustand als String eingetragen, sondern nur der zugehörige PK aus dieser Zustandstabelle.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: In zwei DB suchen, vergleichen, änder?

  Alt 18. Sep 2012, 07:57
Alterauge, Dir fehlen grundlegende Kenntnisse, wie DB-Anwendungen funktionieren. Das ist aber nicht schlimm, ging uns allen einst so und es lässt sich abstellen. Es gibt viele Tutorials, zum Beispiel bei DelphiTreff, aber die muss man auch durcharbeiten wollen. Du wirst dabei aber schnell feststellen, dass es gar nicht so schwer ist. Sieh Dir auch die Delphi-Demos FishFacts und BioLife an. Vorher hat das alles hier wenig Sinn, weil Du bestenfalls zu einer Lösung kommen wirst, die zufällig funktioniert, Du aber nicht in der Lage sein wirst, zu beurteilen, warum das so ist.
Daniel R. Wolf
mit Grüßen aus Hamburg
  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 12:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz