Announcement

Collapse
No announcement yet.

TQuery abfragen, ob Daten gefunden wurden?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TQuery abfragen, ob Daten gefunden wurden?

    Mit welcher Eigenschaft (Typ Boolean) muß man ein TQuery abfragen, um herauszufinden, ob überhaupt Datensätze gefunden wurden sind?

  • #2
    Hi,

    wenn direkt nach dem Ausführen der Abfrage (Query1.Active := True) die Eigenschaft EOF = True ist, dann kannst Du davon ausgehen, daß keine Daten gefunden wurden.

    Gruß Fal
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Hi,

      Ich prüfe die Anwesenheit von Daten mit

      if EigenesQuery.FindFirst then //Daten vorhanden

      Die Eigenschaft EOF hat sich bei mir als nicht zuverlässig erwiesen !

      Gruß Ral

      Comment


      • #4
        <p>Hallo,<br>
        <br>
        eine Möglichkeit besteht darin, mit <b>RecordCount</b> festzustellen ob Datensätze vorhanden sind, oder mit einer SQL-Anweisung der Art "SELECT COUNT(*) FROM tabelle".<br>
        <br>
        Gruß Thomas</p&gt

        Comment


        • #5
          Ich danke allen für ihre Tips!
          Unter VisualBasic gibt es eine Eigenschaft NoMatch, an die ich dachte. FindFirst erinnert eher an das Suchen von Datensätzen, auf den Erstgefundenen wird der Zeiger gestellt. Daher denke ich, daß die Benennung verwirrend ist.
          Aber vom Grundsatz her ist die Verwendung eine Lösung.
          Der Tip von Falk Prüfer funktioniert bei einer Abfrage max(Feld) nicht, da selbst bei nicht gefundenen Werten der Zeiger nicht auf EndOfFile steht. Warum ist ein Rätsel. Vom Logischen her wäre das ein guter Ansatz, zu prüfen, ob Datensätze gefunden wurden

          Comment


          • #6
            Hallo,
            bei einer Abfrage der Form max(Feld), min(Feld), etc. steht ja von vornherein fest, daß <b>ein</b> und nur ein Datensatz zurückgegeben wird, selbst wenn die durch die Abfrage keine Datensätze berücksichtigt werden. Das Maximum von Nichts ist eben nicht Nichts sondern <b>ein</b> Datensatz mit Null (Nichts). Deshalb steht bei solchen Abfragen der Datensatzzeiger nach der Abfrage eben nicht auf EOF.

            Gruß Fal
            Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

            Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

            Comment


            • #7
              Hallo,<br><br>
              noch eine Möglichkeit bietet die Funktion <b>IsEmpty</b>.<br><br>
              Gruß, <br> Stev

              Comment


              • #8
                hallo

                Eine leere Abfragemenge kann man mit (Query.BOF AND Query.EOF)
                erkennen, es reicht nicht wenn nur auf Query.EOF getestet wird.

                Gruß e.lechne

                Comment

                Working...
                X