Einträge aus ListBox und DB löschen



  • Ich lade Bilder in eine ListBox die Werte hohle ich aus einer Datenbank auf einen klick auf einen Button soll er den Wert den ich an geklickt habe löschen(ListBox und DB).

    Das klappt leider nicht erlöscht sie weder aus der DB noch aus der ListBox.
    Er gibt mir immer nach dem er den DELETE Befehl von MYSQL per ExecSQL ausführen will ein Fehler aus.


  • Mod

    Hallo

    - welchen Fehler
    - ein bischen Code waere nicht schlecht (wie loescht du)

    Mfg
    Klaus



  • Poste ich heute abend. Bin momentan auf Lehrgang.



  • Also so wollte ich den Eintrag aus der DB und aus der Listbox nehmen doch irgend wie funzt das nicht

    int eindex = lb_bilder->ItemIndex;
    
     if(eindex !=-1)
            {
              lb_bilder->Items->Delete(eindex);
              Query_bilder->SQL->Clear();
              Query_bilder->SQL->Add("DELETE FROM bilder WHERE Nummer = :Nummer LIMIT 1");
              Query_bilder->Parameters->ParamByName("Nummer")->Value = lb_bilder->Items->Strings[eindex+1];
              Query_bilder->ExecSQL();
    
                      }
     else  ShowMessage("Kein Eintrag ausgewählt!");
    

    Folgender Fehler wird ausgegeben:

    Project Project1.exe raised exception class EAccessViolation with message 'Access violation at adress 1F453E7E in module 'msado15.dll'. Write of adress 00CC602C'.Process...
    


  • hab den Code mal um gestellt und probiert aber bin immer noch nicht weiter hat keiner ne Idee ? Ich weiß soviel das er den Eintrag aus der ListBox nimmt aber kaum klopp ich die SQL Abfrage wieder rein kommt der Fehler:

    int eindex = lb_bilder->ItemIndex;
    
     if(eindex !=-1)
            {
              AnsiString test = lb_bilder->Items->Strings[eindex];
    
              Query_bilder->SQL->Clear();
              Query_bilder->SQL->Add("DELETE FROM bilder WHERE Nummer = :Nummer");
              Query_bilder->Parameters->ParamByName("Nummer")->Value = test;
              Query_bilder->ExecSQL();
              lb_bilder->Items->Delete(eindex);
    
           }
     else  ShowMessage("Kein Eintrag ausgewählt!");
    

  • Mod

    Hallo

    ich glaube es ist besser ertsmal auf

    Query_bilder->Parameters->ParamByName("Nummer")->Value = test;

    zu verzichten

    Schreib doch mal den SQL-String einfach direkt rein
    und ueberleg, ob das so stimmt

    - welche Datenbank
    - als was ist Feld Nummer definiert

    MfG
    Klaus



  • Also sagen wir es so ich verwende diese Art ziemlich häufig und hatte bis jetzt noch nie Probleme ausser beim löschen. Update Insert Select funktioniert einwandfrei wie gesagt nur DELETE. Das ist ja das merkwürdige.



  • Hab den Fehler gefunden an scheinend kann man jedes Query nur für ein SQL Befehl also für Select einer für delet usw. Jeden falls jetzt kommt die fehlermeldung nicht mehr.


Anmelden zum Antworten