Announcement

Collapse
No announcement yet.

Problem mit SQLQuery.RecordCount

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

  • Problem mit SQLQuery.RecordCount

    Hallo, <BR>
    ich habe ein Problem mit SQLQuery.RecordCount<br>.

    ...<br>
    SQLQuery1.Close; <br>
    SQLQuery1.SQL.Clear;<br>
    SQLQuery1.SQL.Add('Select Nachname from MITARBEITERNUMMERN');<br>
    SQLQuery1.SQL.Add('where PERSONALNUMMER=');<br>
    SQLQuery1.SQL.Add(pnr);<br>
    SQLQuery1.Open;<br>
    <br>
    If SQLQuery1.RecordCount = 0 Then<br>
    <br>
    Seltsamerweise bringt mir Recordcount immer die komplette Anzahl der Datensätze zurück, so als ob die Where-Klausel nicht abgearbeitet wird. Wenn ich mir vor und nach open den SQL-String ansehe, so steht der korrekte Befehl, mit der korrekten nummer drin. Und diese Nummer gibt es definitiv nicht in der Datenbank. Und schon gar nicht x-mal. Ich verwende IB6 & Delphi 6. Das merkwürdige ist, das dieser Code mit der BDE problemlos lief. Hat jemand'ne Idee ? <br>
    <br>
    Gruss<br>
    Axel

  • #2
    Hi <br>
    if SQLQuery1.IsEmpty oder If (SQLQuery1.eof and SQLQuery1.bof) ist wohl besser geeignet auf keinen Satz zu Prüfen als RecordCount <br>
    dieser liefert nur die Anzahl der Fetches die wohl vom verwendeten DataControll abhängt. Prüf mal mit dem SQLMoni (IBMonitor

    Comment


    • #3
      Hi,<br>
      IsEmpty liefert True. Das klappt also. Nur verstehe ich das trotzdem nicht. RecordCount sollte doch eigentlich die Anzahl der Sätze in dieser Query zurückbringen. SQLClientDataSet1.RecordCount bringt ja auch die korrekte Anzahl der Sätze zurück. <br><br>

      Gruss <br>
      Axe

      Comment


      • #4
        Gude <br>
        man müsste sich mal den Code von IBQuery.RecordCount anschauen ,<br>
        Für eine Prüfung der realen Anzahl der Datensätze ist es aber ungeeignet da die RecordCount Anzahl der Fetches entspricht und nicht dem Count der Abfrage <br>
        :-

        Comment

        Working...
        X