Verwendung von TQuery



  • ähm, wie zähle ich denn, wieviel einträge in einer tabelle vorhanden sind?

    die tabelle ist ja oben gezeigt.

    Query1 -> FieldByName("bmp_name")
    

    also wie zähle ich hier die einträge?

    einfach ein Count dahinter tut es sicher nicht.

    thx
    Bj



  • Also, ein bisschen SQL lernen wäre nicht schlecht!!!!

    select count(bmp_name) from .....

    Gruß Rainer



  • vielleicht eine dumme frage, aber:

    wo trage ich diese sql anwesung denn dann ein?
    oder einfach in den code klatschen?
    in form von:
    int bla = select (count) ...
    ?
    thx
    Bj



  • unf falls ich es in die Query Kompo eintrage muss, wie rufe ich das ergebnis daraus ab?



  • na in deine Query1

    Query1 ausführen
    count rausfinden

    Query1 mit neuem SQL String füttern

    deine schleife abarbeiten



  • Bj schrieb:

    unf falls ich es in die Query Kompo eintrage muss, wie rufe ich das ergebnis daraus ab?

    Query1->SQL->Add("SELECT COUNT(*) AS CN FROM MEINETABELE");
    Query1->Open();
    int count = Query1->FieldByName("CN")->AsInteger;



  • Query1 ausführen -> was soll das heißen?
    count rausfinden?
    meinst du damit diese zeile bei SQL in die Query schreiben?:
    select count ("bmp_name") from vapbitmap
    ist diese zeile richtig?

    und wie bekomme ich nun diesen wert count?

    tut mir leid, aber wie gesagt, ich bin anfänger und möchte das einfach verstehen.



  • hi,
    kleiner Tip

    Query1->RecordCount();
    

    und noch ein Tip schau mal öfter in die Borland Hilfe rein

    Mfg
    VergissEs



  • ok danke.
    und nochwaS:
    was bedeutet denn jetzt das CN.
    es geht hier um alle bilddateien, müsste dann dort statt CN = "bmp_name" stehen?

    thx roman



  • VergissEs schrieb:

    hi,
    kleiner Tip

    Query1->RecordCount();
    

    und noch ein Tip schau mal öfter in die Borland Hilfe rein

    Mfg
    VergissEs

    geht nicht, weil es wird erst dann was vernünftiges angezeigt, wenn dei query zu ende durchgelaufen ist.



  • Bj schrieb:

    was bedeutet denn jetzt das CN.

    das ist einfach x-belibeger name, alias fur deine "count(*)" spalte. damit du die felder der query auch über einen namen ansprechen kannst



  • Bj schrieb:

    wo trage ich diese sql anwesung denn dann ein?

    Hallo?!? Wie kommst du denn an die Datensätze, wenn man fragen darf?!? Die stehen bestimmt auch nicht einfach so in "Query1" oder?

    -junix



  • hehe 😃
    ich glaube mich würde das auch wütend machen wenn so ein neuling solch "anscheinend" dumme fragen stellt.

    aber das ist so:
    -> Bj bekam eine aufgabe!
    -> Bj sagte den aufgaben-geber: ich habe noch nie mit sql oder datenbanken
    im Builder gearbeitet
    -> die aufgaben-geber gaben mir danach ein "gerüst", bei dem sie die sql
    anweisung für die Datensätze schon eingetragen hatten
    -> Bj wollte jetzt aber erstmal überhaupt das ganze Prinzip verstehen, wie
    man auf die datenbank zugreift usw....

    du musst wissen, ich stehe hier jetzt noch vor einem berg, der reisengross (zu gross) zu sein scheint, und -noch- kann ich wenig alleine rausfinden.

    deshalb stelle ich all die fragen,d amit ich nach einiger zeit einen kleinen anfang verstehe und dann selber dinge (wie sql-befehle) lernen kann!

    thy
    Bj



  • Ja, aber, aber, wenn dir einer ja schonmal ein Beispiel vorgeproggt hat, wie man Datensätze mittels SQL abruft, wieso schaust du dir dann nicht seinen Quelltext an und probierst mal, ob du sein Beispiel adaptieren kannst? (-> Damit ist der Lerneffekt nämlich mit Abstand am grössten)

    -junix



  • nein, also er hat mir nur so ein gerüst gegeben, welches die einträge einfach nur aufgelistet hat.

    und wie soll ein anfänger damit was anfangen?
    da bräuchte ich einfach hilfe von einem lehrer 🙂

    naja, so langsam komme ich ja rein.
    aber:

    @XQgene
    er schrieb:
    Query1->SQL->Add("SELECT COUNT(*) AS CN FROM vapbitmap");
    Query1->Open();
    int count = Query1->FieldByName("CN")->AsInteger;

    so habe ich diese zeilen in meinem code, doch es kommt eine exception:
    Allgeiner SQL Fehler: Token unknwon - line 2, char -1 SELECT

    ...
    😞



  • welche datenbank benutzt du?



  • informix
    das meintest du doch oder?



  • ja, wenn das eine datenbank ist.

    wenn es so ist, dann soll auch eine sql referenz für die db geben. schau mal da rein, ob z.b. as[b] bekkant ist oder [b]count

    oder lasse enfach as weg. die meinsten db können das auch:

    select count() cn from tabelle
    oder
    select count(
    ) 'cn' from tabelle
    oder
    select count(*) as 'cn' from tabelle

    also doku ===>



  • Query1->SQL->Add("SELECT COUNT(*) CN FROM vapbitmap");
    -> Exception

    Query1->SQL->Add("SELECT COUNT(*) 'CN' FROM vapbitmap");
    -> Exception

    Query1->SQL->Add("SELECT COUNT(*) as CN FROM vapbitmap");
    -> Exception

    Query1->SQL->Add("SELECT COUNT(*) as 'CN' FROM vapbitmap");
    -> Exception

    spielt es eine rolle das select gross geschrieben wird?
    naja, werde es einfach mal klein probieren.

    also die bisherige anweisung die in SQL der Query1 steht ist:
    select * from vapbitmap order by bmp_name

    ...
    thx
    BJ



  • 💡
    1. hast du vor deinem Add die alte sql anweisung aus query gelöscht?

    Query1->SQL->Clear();
    Query1->SQL->Add("select count(*) as cn from vapbitmap");
    Query1->SQL->Open();

    2. geht es so?

    select count(*) from vapbitmap


Anmelden zum Antworten