AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datensätze zählen???
Thema durchsuchen
Ansicht
Themen-Optionen

Datensätze zählen???

Ein Thema von romber · begonnen am 18. Sep 2005 · letzter Beitrag vom 21. Sep 2005
 
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.167 Beiträge
 
Delphi 10 Seattle Professional
 
#8

Re: Datensätze zählen???

  Alt 19. Sep 2005, 01:47
So, tut mir Leid Leute, aber ich verstehe immer noch nicht ganz, wie ich meine WHERE-Klausel ersetze und immer noch zu dem gewünschten Ergebniss komme. Ich denke, wenn ihr mir mit einem Praktischen Beispiel zeigt, wie es geht, werden ich es besser verstehen.
Also, ich habe auf der Form ein DBGrid1, der über ADOQuery1 aus der Datenbank VERWALTUNG auf den MSSQL Server Rechnungsdaten bezieht. Die Beispieltabelle hat vier Spalten: "name", "produkt", "preis" und "status". Die ersten drei sind klar, der Spalte "status" wird einen der drei Werte zugewissen: "Bezahlt" oder "Nicht bezahlt" oder "Storniert". So, dann habe ich noch einen Edit1-Textfeld für die Eingabe des Suchbegriffs. Es werden alle vier Spalten durchgesucht:

Delphi-Quellcode:
...
var
suchbegriff: string;
begin
  with ADOQuery1 do
  begin
    active := false;
    sql.Clear;
    suchbegriff := '%' + Edti1.Text + '%';
    sql.Text := 'SELECT * FROM VERWALTUNG' + #10 +
                'WHERE (LOWER(name) LIKE :Param1)' + #10 +
                'OR (LOWER(produkt) LIKE :Param2)' + #10 +
                'OR (LOWER(preis) LIKE :Param3)' + #10 +
                'OR (LOWER(status) LIKE :Param4)';
    ParamCheck := true;
    Parameters.ParamByName('Param1').Value := LowerCase(suchbegriff);
    Parameters.ParamByName('Param2').Value := LowerCase(suchbegriff);
    Parameters.ParamByName('Param3').Value := LowerCase(suchbegriff);
    Parameters.ParamByName('Param4').Value := LowerCase(suchbegriff);
    active := true;
    open;
  end;
...
Jetzt würde ich in der StatusBar anzeigen, wieviele Rechnungen bezahlt sind, wieviele nicht bezahlt und wiviele storniert. Diese Zahlen müssen für jeder Anfrage aktuell sein. Ich habe es zwar mit den oben geposteten Beispiele irgenddwie erreicht, dass die Datensätze gezählt wurden, aber es waren jedesmal alle Datensätze in der Tabelle gezält und nicht nur auf die Anfrage zurückgelieferte Ergebnisse.
Könnt ihr mir bitte zeigen, wie ich meine Abfrage ändern soll, damit ich zu dem gewünschten Ergebniss komme?

Im Vorraus vielen Dank!
  Mit Zitat antworten Zitat
 


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 01:26 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