SQL und ADOQuery ????? Wichtig



  • hi zusammen,
    ich brauche einen SQL Befehl um einen Datensatz aus einer Datenbank zu löschen.

    es muss mit der KOmponente ADOQuery verwirklicht werden
    mein Ansatz :

    ADOQuery1->Active = false;
    ADOQuery1->SQL->Clear();
    ADOQuery1->SQL->Add("DELETE * FROM Vertreter WHERE Nachname ='" + Name + "'");
    ADOQuery1->Open();
    ADOQuery1->Active = true;

    Das funktioniert nicht !!!!
    könnt ihr mir den Befehl bitte aufschreiben.
    1000000 Dank im vorraus



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Borland C++ Builder (VCL/CLX) verschoben.

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

    Dieses Posting wurde automatisch erzeugt.



  • Checkymator schrieb:

    Das funktioniert nicht !!!!

    Was genau funktioniert nicht?
    Welche Fehlermeldung bekommst du?



  • Auch wenn natürlich

    Checkymator schrieb:

    Das funktioniert nicht !!!!

    keine ausreichende Fehlerbeschreibung ist, versuche ich trotzdem mal
    den eigentlichen Fehler zu erraten.
    Du hast ein DELETE-Statement, das keinen Datensatz zurückliefert (im Gegensatz zu SELECT). Da solltest Du anstatt der Open()-Methode die
    ExecSQL()-Methode verwenden.
    Also:

    ADOQuery1->Active = false;
    ADOQuery1->SQL->Clear();
    ADOQuery1->SQL->Add("DELETE * FROM Vertreter WHERE Nachname ='" + Name +  "'");
    ADOQuery1->ExecSQL();
    

    Du weißt aber auch, dass Dein Statement bei "bösartigen" Namen in die Hose gehen kann?

    Gruß,

    Alexander


Anmelden zum Antworten