Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.08.07;
Скачать: [xml.tar.bz2];

Вниз

Key Violation. Что вызывает эту ошибку,   Найти похожие ветки 

 
Term   (2003-07-16 11:42) [0]

Key Violation. Что вызывает эту ошибку, нарушение первичного ключа или еще чтото?


 
Anatoly Podgoretsky   (2003-07-16 11:46) [1]

Так и переводится Нарушение ключа, но не обязательно первичного, сюда относятся и уникальные индексы


 
Term   (2003-07-16 11:49) [2]

а последовательность DeleteIndex и AddIndex спасёт ситуацию?


 
Соловьев   (2003-07-16 11:51) [3]


> а последовательность DeleteIndex и AddIndex спасёт ситуацию?

посмотри, может ты добавляешь в поле данные, которые повторяются, а у тебя поле уникально.


 
Term   (2003-07-16 11:57) [4]

нет есть только первичный ключ по автоинкрементному полю, таблица нискакой другой не связанна, было всё нормально но вдруг при добавлении записи стало вылетать выше указанное сообщение


 
Term   (2003-07-16 11:58) [5]

БД Парадокс


 
ZrenBy   (2003-07-16 12:00) [6]

удали это поле и создай заново


 
msguns   (2003-07-16 12:05) [7]

Таблица, где вылетают ключи, не является ли детальной ?


 
Term   (2003-07-16 12:05) [8]

Именно поле? а пересоздать ключ не поможет?


 
Term   (2003-07-16 12:06) [9]

да к тому же если ситуация повторится по полю связи? его то удалять никак нельзя


 
Term   (2003-07-16 12:09) [10]

нет таблица не детальная, это в проге просто справочник, в который заносятся значения и иногда берутся данные для подстановки, она ни с какой другой таблицей не связанна, но дело не в этом меня интересует как с этим бороться вообще, чтобы в прогу встроить механизм которыый бы решал эту проблему


 
Anatoly Podgoretsky   (2003-07-16 12:10) [11]

Говорили же, не использовать Парадокс, а если используешь, то не использовать в качестве связи автоинкриментные поля, получишь по самые помидоры.


 
ZrenBy   (2003-07-16 12:11) [12]

В таблице сбился автоинкремент.

Для парадокса это стабильная ситуация.
Я в свое время напрочь отказался от этого глюкавого автоинко
и использовал псевдо-GUID


 
Term   (2003-07-16 12:17) [13]


> использовал псевдо-GUID

поясни подробнее плиз


 
Anatoly Podgoretsky   (2003-07-16 12:20) [14]

ZrenBy © (16.07.03 12:11)
Использовать конечно можно, но не в качестве связи, это самоубийство.


 
ZrenBy   (2003-07-16 12:20) [15]

Ну, я в качестве первичного ключа использовал char(12)
и генерил на клиенте эти псевдо-уникальные и неповторяющиеся
12 символов


 
ZrenBy   (2003-07-16 12:22) [16]

>>Anatoly Podgoretsky © (16.07.03 12:20)

согласен


 
Term   (2003-07-16 12:28) [17]

понятно спасибо


 
MsGuns   (2003-07-16 12:31) [18]

>ZrenBy © (16.07.03 12:20)
>Ну, я в качестве первичного ключа использовал char(12)
и генерил на клиенте эти псевдо-уникальные и неповторяющиеся
12 символов

Жаль, что только 12, а не 120 или 255 ;))

Саму же ситуацию "выталкивания" (именно так надо понимать англ.слово Violation), т.е. физическое отторжение дубликата ключа как средство поддержания целостности БД, можно проверять либо перед постингом (с помощью метода LookUp, например), либо сам пост выполнять в блоке Try Except с проверкой кода ошибки.



 
Anatoly Podgoretsky   (2003-07-16 12:37) [19]

Если уж использовать ГУИДб то зачем псевдо, надо использовать системное


 
ZrenBy   (2003-07-16 12:41) [20]

>>MsGuns © (16.07.03 12:31)
>>Anatoly Podgoretsky © (16.07.03 12:37)

Слава богу, эпопея с парадохом давно закончилась

Сейчас MS SQL 2000

>>Жаль, что только 12, а не 120 или 255 ;))

Гы. Не поверите, но я своими глазами видел такие первичные ключи
(255), правда на ракле.


 
Term   (2003-07-16 12:54) [21]


> Anatoly Podgoretsky © (16.07.03 12:37)
> Если уж использовать ГУИДб то зачем псевдо, надо использовать
> системное

можно ссылочку и пояснить както?


 
Anatoly Podgoretsky   (2003-07-16 12:55) [22]

MS SDK, на твоем компьютере


 
Term   (2003-07-16 12:59) [23]

:) спасибо



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.08.07;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.013 c
14-20698
Сергей Енин
2003-07-23 13:17
2003.08.07
Отправка e-mail


1-20540
Vintik
2003-07-26 15:33
2003.08.07
Как сделать горячие клавиши?


3-20407
rust
2003-07-16 12:57
2003.08.07
Treeview


1-20621
chs2r
2003-07-24 17:46
2003.08.07
Как сделать редактор с подсветкой синтаксиса


3-20441
SeRg_2003
2003-07-17 12:24
2003.08.07
Как полностью очитить ClientDataSet?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский