Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Eingabe mit Daten aus der Datenbank vergleichen (https://www.delphipraxis.net/3797-eingabe-mit-daten-aus-der-datenbank-vergleichen.html)

Garby 1. Apr 2003 18:54

OK,

du ziehst einfach eine TQuery-Komponente auf den Formular.
Dann stellst du die Database-Eingenschaft der Query gleich ein, wie bei deiner TTable-Komponente.
Danach erstellst du z.B. einen Button, in dessem Click-Ereignis du o.g. Code reinstellst.
Die Tabelle und die Felder der o.g. SQL-Anweisung musst du natürlich deiner DB anpassen.

Dann sollte alles laufen, OK?

Flo 1. Apr 2003 19:05

Ich muss dich jetzt gleich noch einmal nerven, sorry.

Wie passe ich die SGL-Anweisungen an die DB an ??? :angle2:

Flo 1. Apr 2003 19:09

Doppelpost Bitte löschen

Hansa 1. Apr 2003 19:13

Zitat:

Zitat von Flo
...wie passe ich die SGL-Anweisungen an die DB an ???

Es geht um die Bezeichner. Die müssen im Programm und der DB übereinstimmen. Sonst wird eben gar nichts gefunden.

Flo 1. Apr 2003 19:17

Danke euch beiden.
Ich werde das gleich mal ausprobieren.
Melde mich dann nochmal. Ich hoffe, ich hab was positives zu berichten :mrgreen:

Garby 1. Apr 2003 19:24

Hier nochmal der Source:
Delphi-Quellcode:
with qryAbfrage do begin
  Close;
  SQL.Text := 'Select Count(*) as ANZAHL From (1)ENGLISCH_DEUTSCH(1)';
  SQL.Add('Where (2)ENENGLISCH(2) = (P):Englisch(P) and (3)ENDEUTSCH(3) = (P):Deutsch(P)');
  ParamByName('Englisch').AsString := (4)edtEnglisch.Text(4); // Parameterwerte aus 2 Edit-Feldern
  ParamByName('Deutsch').AsString := (5)edtDeutsch.Text(5);
  Open;
  // (PE)
  if FieldByName('ANZAHL').AsInteger > 1 then
    ShowMessage('Richtig')
  else
    ShowMessage('leider Falsch');

  Close;
end;
Oben habe ich die Stellen die du ersetzen musst mit Zahlen oder Buchstaben eingeschlossen(bitte nicht drinlassen, sonst gehts sicher nicht).
(1) = dein Tabellenname
(2) = der Feldname in dem der Englische Text in der Tabelle steht
(3) = der Feldname des Deutschen Textes
(4) = Irgendwo in deinem Formular wirst du eine Variable oder ein Edit haben, wo der englische Text steht --> hier einsetzen
(5) = das selbe mit dem vom User eingegebenen deutschen Text
(P) sind Parameter. Die kannst du benennen wie du willst. Sie dienen nur als Platzhalter für die Werte, die du dann unter (PE) den Parametern zuweisen musst.

So, einfacher krieg ichs nicht hin. Experimentier doch einfach mal damit herum, dann kommst du bestimmt drauf.

Etwas hab ich noch vergessen. Dein TQuery-Objekt muss natürlich auch qryAbfrage heissen :lol:

Flo 1. Apr 2003 19:31

Das ist gut, jetzt müsste ich das eigentlich kapieren *hoffnungsvoll*

Danke nochmal

harrybo 1. Apr 2003 21:32

Hi Garby,
sollte das Ergebnis nicht auf "> 0" alternativ ">= 1" abgefragt werden (also: if FieldByName('ANZAHL').AsInteger > 0 then)?

gruß, harrybo

Flo 2. Apr 2003 16:08

Danke nochmal an alle. Es hat geklappt.

Hab noch eine Frage (mehr optisch)
Wie erziele ich, dass bei Richtg- oder Falschergebnis nicht Projekt1 sonder ''blabla'' steht ???


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:20 Uhr.
Seite 2 von 2     12   

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