RecNo liefert immer -1



  • KlausB schrieb:

    Hallo

    RecordCount()
    RecNo()

    MfG
    Klaus

    Hi Klaus,

    habe mal Deinen RecNo-Tipp versucht (s.u.), aber das Ergebnis ist immer -1. Hättest Du vielleicht genauere Hinweise?

    qry_Detail_Cnt->Close();
    qry_Detail_Cnt->SQL->Clear(); // ist erst bei mehrmaligem Aufruf der Add-Methode erforderlich
    qry_Detail_Cnt->SQL->Add("SELECT * from tbl_GeraetePruefungDetail");
    qry_Detail_Cnt->Prepare(); // sollte laut OH beim ersten Mal gemacht werden
    qry_Detail_Cnt->ExecSQL(); // das SQL-Statement wird aus der Objekteigenschaft SQL ausgelesen.
    qry_Detail_Cnt->Open();

    lbl_Detail_Cnt->Caption = "("+ IntToStr((int)qry_Detail_Cnt->RecordCount) + ")";

    // bis hier alles okay

    MessageDlg(AnsiString("RecNo-Test") + "\n"
    + "Nr: " + IntToStr((int)qry_Detail_Cnt->RecNo)
    , mtInformation, TMsgDlgButtons() << mbOK, 0);

    // MessageDlg zeigt jedoch immer -1

    Muss ich die Eigenschaft RecNo vielleicht von einer anderen Klasse als TQuery oder TTable abfragen?

    Gruß
    Leo



  • ExecSQL(); != Open();



  • VergissEs schrieb:

    ExecSQL(); != Open();

    Hi Klaus,

    bei diesen kryptische Antworten können wir uns noch den ganzen Tag weiterunterhalten, wie wär's mal mit 'nem ganzen Satz!?

    Habe Deine letzten Anregungen wie folgt umgesetzt:

    qry_Detail_Cnt->Prepare();
    qry_Detail_Cnt->ExecSQL();
    //qry_Detail_Cnt->Open();
    lbl_Detail_Cnt->Caption = "(" + IntToStr((int)qry_Detail_Cnt->RecNo) + " von " + IntToStr((int)qry_Detail_Cnt->RecordCount) + ")";

    ... leider vergeblich siehe Debugger-Fehlermeldung:
    "Operation bei geschlossener Datenmenge nicht ausführbar"

    Gruß
    Leo



  • Hallo,

    bin nicht Klaus aber

    schau mal in die Hilfe zu ExecSQL();
    dann würdst du feststellen das man das nicht bei SELECT verwendet
    und schon gar nicht ExecSQL(); und Open(); zusammen

    also es genügt ein einfaches Open();

    mfg
    VergissEs

    PS:

    war vorhin ein wenig schreibfaul 🙂


Anmelden zum Antworten