Entwickler-Ecke

Datenbanken - Datenbank abfrageproblem


sunday_2 - Di 03.09.02 15:04
Titel: Datenbank abfrageproblem
Hi Leute,

Ich habe zwei Datenbanken. DB1 und DB2. Aus DB1 wird gelesen in DB2 geschrieben. In beiden Datenbanken gibt es das Feld SpTag.
Ich möchte überprüfen ob DBEdit1.text (zeigt Spieltag aus DB1 an) bereits in DB2 gespeichert wurde. Wie muß ich die Abfrage schreiben ob DB2 SpTag den Eintrag aus DBEdit1 hat.

Wäre für hilfe echt dankbar.

Gruß Sunday 8)


bis11 - Di 03.09.02 15:10

Hi,

Mit was für Komponenten arbeitest Du ? (BDE, ADO)
Was für eine Datenbank ist es ?


MrSpock - Di 03.09.02 15:12

Hallo sunday_2,

für den Fall, dass auf deine beiden Tabellen über TTables zugegriffen wird und SpTag das Schlüsselfeld ist:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
if DB2.FindKey([Edit1.Text]) then
  { existiert schon und ist jetzt ausgewählt }
 ...
else
begin
  DB2.Append;
  DB2.FieldByName('SpTag').Value := DB1.FieldByName('SpTag').Value;
   ...
  DB2.Post;
end;

Falls es kein Schlüsselfeld ist, kannst du Locate benutzen.


sunday_2 - Di 03.09.02 17:44

Hi,

Ich arbeite mit Paradox7 Tabellen. Greife über TTable drauf zu.
Mittlerweile habe ich den vergleich fast.


Quelltext
1:
2:
3:
4:
5:
6:
begin
if Table2.FieldByName('Spieltag').Value = Table1.FieldByName('Spieltag').value then
   begin
     ShowMessage ('Der Spieltag wurde bereits gespeichert!');
     exit;
   end;
Leider wird hierbei nur der aktuelle Wert von Table2 überprüft. Ich möchte jedoch wissen, ob der Wert (z. B. 3(Spieltag)) bereits in irgend einem Datensatz der Table2 gespeichert ist.

Gruß Sunday 8)


MrSpock - Di 03.09.02 21:26

Hallo Sunday,

deshalb musst du ja FindKey (falls Spieltag ein Schlüssel ist) oder Locate benutzen. Ist Spieltag ein Schlüsselfeld?