Fehlermeldung beim schreiben in eine Datenbank
-
Hallo,
ich hab ein Problem wenn ich über folgenden Code in eine Datenbank versuche zu schreiben in der bis jetzt nur ein Eintrag ist:
Query1->Close(); Query1->SQL->Clear(); Query1->SQL->Add("INSERT INTO tb_test (Spalte_1, Spalte_2, Spalte_3, Spalte_4) values (:Feld_1, :Feld_2, :Feld_3, :Feld_4)"); Query1->ParamByName("Feld_1") -> Value = Edit1 -> Text; Query1->ParamByName("Feld_2") -> Value = Edit2 -> Text; Query1->ParamByName("Feld_3") -> Value = Edit3 -> Text; Query1->ParamByName("Feld_4") -> Value = Edit4 -> Text; Query1->ExecSQL();kommt immer folgende fehlermeldung
Im Projekt Project1.exe ist eine Exception der Klasse EDBEngineError aufgetreten. Meldeung: 'Indexfehler [Microsoft][ODBC Microsoft Access Driver]. Die von Ihnen vorgenommenen Ändeerungen an der Tabelle konnten nicht vorgenommen werden.
Algemeiner SQL-Fehler
werden, da der Index, Primärschlüssel oder die Beziehung mehrfach vorkommende Werte enthalten würde. Ändern Sie die Daten in den Feldern, die gleiche Daten enthalten, enfernen Sie den Index, oder definieren Sie den Index neu, damit doppelte Einträge möglich sind und versuchen Sie er erneut.'.Prozeß wurde angehalten. Mit Einzelne Anweisungd oder Start fortsetzen.ich denke das liegt daran dass in der Tabelle in die die eingaben geschrieben werden soll eine Spalte ist in der ein Primärschlüssel eingetragen werden muss.
Was kann ich tun dass beim Primärschlüssel eine Zahl eingetragen wird die um +1 höher ist als der höchste Primärschlüssel der bis jetzt existiert?
-
Hallo,
Du solltest das Feld mit dem Primärschlüssel als Auto (Autoincrement) oder ähnlich formatieren.