MySQL Zeilenanzahl in Variable speichern



  • Hallo!
    WIe kann ich die Anzahl der ZEilen einer Tabelle in eine Variable "anzahl" vom Typ Integer speichern`?



  • result=mysqlquery("result= mysql_query("deinsql");
    anzahl=mysql_num_rows(anzahl=mysql\_num\_rows(result);

    http://de.php.net/mysql_num_rows

    achso: welche sprache eigentlich?
    für c/c+ findest du hier
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-173240.html
    das äquivalente



  • C++!
    Will halt mit Hilfe einer TQuery Komponente die Anzahl der Zeilen abspeichern.



  • Hm da bin ich nicht so ganz fündig geworden...
    Also nochmal

    Ich habe eine TQuery Komponente im Borland C++ Builder und eine Tabelle auf nem Webserver.

    Jetzt möchte ich halt die Zeilenanzahl in eine Variable abspeichern.

    Also ungerfähr so:

    int anzahl;
    Query1->SQL->Add("SELECT * FROM Userdaten");
    Query1->SQL->Add("SELECT COUNT(*) AS anzahl FROM Userdaten");
    

    Wie geht das?



  • Mucher schrieb:

    Hm da bin ich nicht so ganz fündig geworden...
    Also nochmal

    Ich habe eine TQuery Komponente im Borland C++ Builder und eine Tabelle auf nem Webserver.

    Jetzt möchte ich halt die Zeilenanzahl in eine Variable abspeichern.

    Also ungerfähr so:

    int anzahl;
    Query1->SQL->Add("SELECT * FROM Userdaten");
    Query1->SQL->Add("SELECT COUNT(*) AS anzahl FROM Userdaten");
    

    Wie geht das?

    Wenn Du nur die Anzahl haben willst dann vllt so:

    Query1->SQL->Add("SELECT COUNT(*) AS anzahl FROM Userdaten");
    Query1->SQL->Open();
    int anzahl = Query1->Fields->Fields[0]->AsInteger;
    

    Wenn Du die Daten auch gleich mithaben willst dann:

    Query1->SQL->Add("SELECT * FROM Userdaten");
    Query1->SQL->Open();
    while (!Query1->Eof) {
    
      String s = Query1->FieldByName["MeineSpalte"]->AsString;
      Query1->Next();
    }
    

    Denk daran dass wenn Du ein serverseitigen Cursor einsetzt beim Öffnen desselben die Gesamtzeilenanzahl nicht bekannt ist da er die Zeilen erst bei Anfrage sich holt. Du müßtest in diesem Falle zum letzten Satz springen um das Lesen aller Zeilen zu forcieren.



  • Dieser Thread wurde von Moderator/in Unix-Tom aus dem Forum Datenbanken in das Forum VCL (C++ Builder) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Hallo

    Andere Alternative :

    Query1->SQL->Add("SELECT * FROM Userdaten");
    Query1->SQL->Open();
    int anzahl = Query1->RecordCount;
    

    bis bald
    akari


Anmelden zum Antworten