mysqldac - ungewollte exception bei insert into



  • Hallo,

    ich nutze die mysqldac komponente unm eine mysql tabelle entsprechend zu füllen. die tabellen struktur besteht aus einer spalte id, die autoincrement ist. ferner gibt es eine spalte data, die unique ist. dies bedeutet das keine doppelten einträge hinzugefügt werden können. um dieses zu testen habe ich mir ein kleines beispiel programmiert:

    void __fastcall TForm1::Button4Click(TObject *Sender)
    {
       try
       {
          mySQLQuery->Close();
          mySQLQuery->SQL->Clear();
          mySQLQuery->SQL->Add("INSERT INTO data (data) VALUES ('test')");
          mySQLQuery->ExecSQL();
       }
       catch(...)
       {
          Beep();
          ShowMessage("Error");
       }
    }
    

    Dies läuft soweit alles Wunderbar. Wenn ich den Button jetzt aber ein zweites mal Klicke kommt eine Exception. Wie gewollt wird der Datensatz kein zweitesmal hinzugefügt, aber wie bekomme ich die Exception dann weg? Hat jemand eine IDee?

    Martin



  • wenn du versuchst zwei gleiche werte in die unique spalte zu schreiben, bekkomst du eben exception. was willst du da weg krigen.

    schreibe keine doppelte setze da rein.

    oder vielleichst meinst du die debug meldung? wenn ja, suche in dem forum nach debug und exception. hier findest du viele tasks dafür. auch faq nicht vergessen



  • Hi,

    bei mehreren Millionen Testergebnissen die ich in eine Datenbank schreiben möchte, kommt es leider mal vor, dass ein Wert dem anderen Gleicht ist.

    Wenn ich dich richtig verstanden kann ich die Exceptions komplett ausstellen. ICh suche mal im Faq und im Forum.

    Martin


Anmelden zum Antworten