Select Abrage in C++Builder Code einbetten



  • in den FAQ gibt es einige lesenswerte Beiträge zu Datenbanken einschließlich einem Tutorial



  • hallo,

    ja eine Datenbankanbindung habe ich.
    Es geht jetzt doch um die Select Abfrage:

    Folgenden Code habe ich:

    String Abfrage;
    Abfrage=FormDaten->Query1->SQL->Add("Select name from MLPDBSPD where Knr=150");
    Label2->Caption=Abfrage;
    

    Stimmt was mit meiner Select-Abfrage nicht? Auf jedenfall macht es nicht was es soll.

    LG
    Eliza



  • Hallo

    So funktioniert das nicht. Bitte schau dir die von Linnea verlinkten Hinweise in der FAQ an.

    bis bald
    akari



  • Hallo akari,
    ich habe in dem entsprechenden Link nachgesehen.
    Also so ganz falsch kann ich nicht liegen, da die Codes so ähnlich aus sehen.
    Die Frage ist nur was bei mir wohl nicht stimmt?
    Liegt es am Code? Oder greife ich wahrscheinlich auf eine falsche Tabelle zu

    LG
    Eliza



  • Hallo

    Wenn du dir z.B. mal diesen FAQ-Thread mal anschaust, wirst du schon Unterschiede merken. Und es reicht eben nicht das Code "ähnlich" ist, sondern er muß korrekt sein.

    bis bald
    akari



  • So kann das jedenfalls nicht funktionieren. Ohne dass ich mir jetzt die Beispiele explizit angesehen habe, kann ich mir kaum vorstellen, dass da auch nur entfernte Ähnlichkeit besteht... Es fehlen Dinge, wie zum Beispiel die Query auszuführen. Das Feld muss außerdem ecplizit ausgelesen werden.

    EDIT: Mal wieder zu langsam getippt...



  • Query->Close();
         Query->SQL->Clear();
         Query->SQL->Add("select * from DomainTable");
         Query->Open();
         Query->First();
    

    Das ist ein Beispielcode aus dem angegebenen Link (angeblich richtig - nicht von mir)
    Er unterscheidet sich nur im Query->Close()/Clear()/First()

    Wie lautet denn der Befehl, die Query auszuführen?

    LG
    Eliza



  • Der Code in Deinem letztn Post unterscheidet sich doch wohl gravierend von dem, was Du weiter oben gezeigt hast...

    Query->Close();  // Query schließen, das ist nur notwendig, wenn die Query vorher geöffnet wurde
    Query->SQL->Clear(); // altes Select-Statement der Query löschen
    Query->SQL->Add("select * from DomainTable"); // neues Select-Statement hinzufügen (das ist der einzige Schritt, den Du in Deinem Code ausführst)
    Query->Open(); // Query öffnen, bzw ausführen
    Query->First(); // auf ersten Datensatz positionieren (eigentlich überflässig, da nach dem öffnen sowieso auf den ersten Datensatz positziert hast.
    

    Jetzt fehlt nur noch das Auslesen des Feldes und das Zuweisen in eine Variable.
    Schau Dir hierzu TQuery::FieldByName() in der Hilfe an.



  • Danke, die letzten beiden Open() und First() sind wohl für mich besonders interessant.

    Und damit hier dem Narzismus einiger genüge getan ist:
    Ja, mein Code unterschied sich von dem anderen von gewaltiger!!!! nicht mehr zu überblickender Unterschiedlichkeit. So recht? für einige? 😉 *ironie Modus*

    LG
    Eliza



  • Es wäre schön, wenn Du realistisch bleiben würdest und die Hilfegebenden nicht auch noch beleidigst.



  • Nein ich wollte hier niemanden beleidigen, es war auch mehr selbstironisch gemeint. Aber Entschudigung, wenn sich jemand beleidigt dadurch gefühlt hat.
    @Joe M.
    Deome Hilfe war sehr nützlich, danke dafür! 😉

    LG
    Eliza


Anmelden zum Antworten