Delphi - BDE - TTable - výnimka Key violation (indexovaná databáza)
Robím v Delphi 7 cez BDE TTable databázový program. Používam v ňom indexy. Nastavil som primárny index na prvú položku (dátumový typ) a sekundárny na prvú (dátum) a druhú (čas). Pre tento index je nastavené v Database Desktop vlastnosť Maintained, kvôli automatickému indexovaniu. Po spustení programu a pri pridávaní druhého záznamu do databázi (je na ňom rovnaký dátum ale iný čas) dojde pri metóde Post k výnimke Key violation.
Primarny index na datum ?Zla volba!To tam budete moct ulozit len jeden zaznam za ten den a to asi nechcete.
Pridajte este jeden stlpec s menom napr. ID a zvolte jeho typ na integer /Neviem ci bude podporovat autoincrement/ a tento zvolte ako primarny index.
Ako sekundarny potom zvolte Datum+Cas ...
Ďakujem, zistil som to isté.
Je to preto, lebo v položke, kde je použitý primárny index musí byť vždy iný obsah. Najlepšie bude pridať do databázi novú položku napr. typu autoinkrement a na ňu nastaviť primárny index. Vysvetlenie chyby je v Delfináriu na adrese:
http://www.gljs.sk/~sjiricek/inf/pcrevue/delfinariu m.pdf