Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi key violation (https://www.delphipraxis.net/104366-key-violation.html)

o0o 2. Dez 2007 15:42

Datenbank: absolute database • Zugriff über: delphi

key violation
 
hi leutz,...also ich hab mir mal ein code example an ne neue DB angepasst da ich noch nichso ahnung hab.

hab im Abs Db manager den query ausgefuehrt:
insert into test values (5, 'Harry');

und geht einwandfrei,...dann wollte ich genau das selbe in meiner anwendung ausfuehren und 2-3x hat es iwi auch geklappt ohne fehler,...aber jetzt kommt immer die fehlermeldung 'key violation' aber die werte werden trotzdem auch eingetragen.

meine frage ist jetzt woran haengt es dass die errormessage kommt?

thx im vorraus:)

o0o

DeddyH 2. Dez 2007 15:44

Re: key violation
 
Zeig mal die Metadaten der Tabelle Test.

mkinzler 2. Dez 2007 15:45

Re: key violation
 
Der Fehler sagt aus, das der PK-Wert schon in der Tabelle vorhanden ist.

DeddyH 2. Dez 2007 15:47

Re: key violation
 
Wenn es denn wirklich der PK ist. Eigentlich hätte das nicht 2-3 mal funktionieren dürfen, es sei denn, er hat die Tabellenstruktur zwischenzeitlich geändert.

o0o 2. Dez 2007 15:48

Re: key violation
 
@deddyh

sry ich weiss grad nich was du mit meta daten der tabelle meinst^^
is das richtig?

DROP TABLE test;
CREATE TABLE test (
text1 VARCHAR(32),
text2 VARCHAR(20)
);
INSERT INTO test values ('5', 'Harry');
INSERT INTO test values ('5', 'Harry');
INSERT INTO test values ('6', 'Harry');
INSERT INTO test values ('7', 'Harry');
INSERT INTO test values ('8', 'Harry');
INSERT INTO test values ('9', 'Hagrry');

mkinzler 2. Dez 2007 15:49

Re: key violation
 
Da dürfte eigentlich gar kein Fehler kommen, weil ja keine Constraints vorhanden sind.

DeddyH 2. Dez 2007 15:50

Re: key violation
 
Du hast also keinen PK definiert, also müsste das eigentlich immer funktionieren (zum DB-Design äußere ich mich jetzt erstmal nicht, ist ja wohl nur ein Test).

o0o 2. Dez 2007 15:58

Re: key violation
 
hmm wenn du mir noch sagst was der PK ist bin ich schlauer^^

btw ich hab ein wenig weitergetested,...wenn ich alle eintraege leere und dann den query von oben ausfuehre gehts einwandfrei^^
wenn ich aber hingehe und 2x das selbe eintrage kommt der fehler,..ich close das programm und oeffne es wieder und will diesmal nich genau das selbe eintragen und der fehler bleibt solange bis ich nich wieder alle eintraege geleert hab.

hat das mit dem PK zutun wo du meintest?

o0o

mkinzler 2. Dez 2007 16:01

Re: key violation
 
PK = Primary Key = Primärschlüssel

DeddyH 2. Dez 2007 16:04

Re: key violation
 
Das erweitert die Frage um Folgendes: hast Du einen Primärschlüssel definiert?

o0o 2. Dez 2007 16:11

Re: key violation
 
ehm nein hatte ich nicht,...ich hab wiegesagt davon nich grad ahnung^^

ich bin ebn einfach mal hin und hab ein wenig blind was veraendert und das kam bei raus:


CREATE TABLE test (
test1 VARCHAR(32),
test2 VARCHAR(20),
PRIMARY KEY IndexName (test1, test2)
);

ich weiss nich ob das so richtig ist aber der error key violation kommt nimmer wenn ich was doppeltes einfuegen will:), dafuer ne andere fehlermeldung aber egal solange sie nur einmal kommt^^

btw ist das obn jetzt richtig bzw brauchbar oder sollte noch was dran veraendert werden?^^

o0o

mkinzler 2. Dez 2007 16:13

Re: key violation
 
Du hast damit festgelegt, das beide Felder zusammen den Primärschlüssel bilden.

o0o 2. Dez 2007 16:15

Re: key violation
 
is das jetzt schlimm oder gut?
wenn schlimm beschreib doch bitte mal wie ichs am besten richtig mache.

o0o

mkinzler 2. Dez 2007 16:19

Re: key violation
 
Kann man so nicht sagen, was willst du bezwecken?
Wenn die Namen der Felder auf den Inhalt schließen lassen, würde auch das Feld plaintext reichen.

DeddyH 2. Dez 2007 16:22

Re: key violation
 
Das heißt aber auch, dass die Kombination der beiden Felder eindeutig sein muss, daher die Fehlermeldung.

o0o 2. Dez 2007 16:26

Re: key violation
 
hmm :shock: naja ok das ganze steigt allmaehlig ueber meine verstandsgrenze und will euch jetzt nich vollspammen^^
ich denke mal mit ein paar tut's mehr habe ich das raus:)

ich bedanke mich bei euch 2 vielmals und wuerde mal sagen dass wir durch sind^^

lg o0o

mkinzler 2. Dez 2007 16:30

Re: key violation
 
Grundwissen kann nie schaden. wenn du noch weitere Fragen hast, helfen wir dir gern wieder.

DeddyH 2. Dez 2007 16:32

Re: key violation
 
ACK ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz