![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Key Violation. Что вызывает эту ошибку,
Term © (2003-07-16 11:42:00)Key Violation. Что вызывает эту ошибку, нарушение первичного ключа или еще чтото?
Term (2003-07-16 12:59:00) [1]:) спасибо
Anatoly Podgoretsky (2003-07-16 12:55:00) [2]MS SDK, на твоем компьютере
Term (2003-07-16 12:54:00) [3]
> Anatoly Podgoretsky © (16.07.03 12:37)
> Если уж использовать ГУИДб то зачем псевдо, надо использовать
> системное
можно ссылочку и пояснить както?
ZrenBy (2003-07-16 12:41:00) [4]>>MsGuns © (16.07.03 12:31)
>>Anatoly Podgoretsky © (16.07.03 12:37)
Слава богу, эпопея с парадохом давно закончилась
Сейчас MS SQL 2000
>>Жаль, что только 12, а не 120 или 255 ;))
Гы. Не поверите, но я своими глазами видел такие первичные ключи
(255), правда на ракле.
Anatoly Podgoretsky (2003-07-16 12:37:00) [5]Если уж использовать ГУИДб то зачем псевдо, надо использовать системное
MsGuns (2003-07-16 12:31:00) [6]>ZrenBy © (16.07.03 12:20)
>Ну, я в качестве первичного ключа использовал char(12)
и генерил на клиенте эти псевдо-уникальные и неповторяющиеся
12 символов
Жаль, что только 12, а не 120 или 255 ;))
Саму же ситуацию "выталкивания" (именно так надо понимать англ.слово Violation), т.е. физическое отторжение дубликата ключа как средство поддержания целостности БД, можно проверять либо перед постингом (с помощью метода LookUp, например), либо сам пост выполнять в блоке Try Except с проверкой кода ошибки.
Term (2003-07-16 12:28:00) [7]понятно спасибо
ZrenBy (2003-07-16 12:22:00) [8]>>Anatoly Podgoretsky © (16.07.03 12:20)
согласен
ZrenBy (2003-07-16 12:20:00) [9]Ну, я в качестве первичного ключа использовал char(12)
и генерил на клиенте эти псевдо-уникальные и неповторяющиеся
12 символов
Anatoly Podgoretsky (2003-07-16 12:20:00) [10]ZrenBy © (16.07.03 12:11)
Использовать конечно можно, но не в качестве связи, это самоубийство.
Term (2003-07-16 12:17:00) [11]
> использовал псевдо-GUID
поясни подробнее плиз
ZrenBy (2003-07-16 12:11:00) [12]В таблице сбился автоинкремент.
Для парадокса это стабильная ситуация.
Я в свое время напрочь отказался от этого глюкавого автоинко
и использовал псевдо-GUID
Anatoly Podgoretsky (2003-07-16 12:10:00) [13]Говорили же, не использовать Парадокс, а если используешь, то не использовать в качестве связи автоинкриментные поля, получишь по самые помидоры.
Term (2003-07-16 12:09:00) [14]нет таблица не детальная, это в проге просто справочник, в который заносятся значения и иногда берутся данные для подстановки, она ни с какой другой таблицей не связанна, но дело не в этом меня интересует как с этим бороться вообще, чтобы в прогу встроить механизм которыый бы решал эту проблему
Term (2003-07-16 12:06:00) [15]да к тому же если ситуация повторится по полю связи? его то удалять никак нельзя
Term (2003-07-16 12:05:00) [16]Именно поле? а пересоздать ключ не поможет?
msguns (2003-07-16 12:05:00) [17]Таблица, где вылетают ключи, не является ли детальной ?
ZrenBy (2003-07-16 12:00:00) [18]удали это поле и создай заново
Term (2003-07-16 11:58:00) [19]БД Парадокс
Term (2003-07-16 11:57:00) [20]нет есть только первичный ключ по автоинкрементному полю, таблица нискакой другой не связанна, было всё нормально но вдруг при добавлении записи стало вылетать выше указанное сообщение