[C++Builder] Query - Fehler



  • Hallo zusammen,

    ich habe in meinem Projekt eine TQuery - Komponente und möchte mit dieser SQL -Befehle ausführen können.
    Um während der Laufzeit SQL Befehle eingeben zu können, habe ich ein Memofeld
    eingefügt, in dem ich meine SQL - Befehle eingebe.

    Wenn ich nun auf den Button drücke, damit der SQL Befehl ausgeführt wird, dann
    erscheint folgender Fehler:

    Exception der Klasse EDBEngineError; Meldung:'Indexfehler[MySQL][ODBC 3.51 Driver][mysql-4.1.13-nt]Duplicate entry '0' for key 1.

    Kann mir jemand sagen, durch was dieser Fehler ausgelöst wird, und wie man ihn beheben kann?

    Mein Code:

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
       Query1->Close();
    
       Query1->SQL->Clear();
       Query1->SQL->Add(Memo1->Lines->GetText());
       Query1->ExecSQL();
    
    }
    

    Danke!



  • wie sieht den dein sql statement aus ?

    zufällig etwas in der richtung:

    insert into tabelle (id,nochwas) values(0,'hallo');

    und die id ist schon vorhanden und darauf sitzt ein 'primary key' ?



  • Genau! An was liegt das denn? Kann das an dem Primary Key liegen?

    mein SQL - Befehl gebe ich folgt ein:

    insert into kundendaten (Kunde) values ("Roche");

    die id ist als PK definiert!



  • Dann mußt Du entweder die id mit eingeben (darf nicht doppelt vorhanden sein)

    oder Du setzt die id auf auto_increment. <-- ist einfacher 😉



  • Danke! Hat mir geholfen


Anmelden zum Antworten