База данных Delphi Paradox - создание дубликата записи | Ошибка нарушения ключа

Часто используется термин «переполнение стека» (переполнение), но неправильное обозначение; атаки не переполняют стек, а буферы в стеке.

- из слайдов слайдов Prof. Доктор Дитер Голманн

0
задан kwadratens 13 July 2018 в 21:03
поделиться

1 ответ

Ваш код выглядит правильно. Вставка не выполняется из-за ограничений базы данных.

Возможно, таблица имеет составной уникальный поддерживаемый вторичный индекс с именем «DPN_UNQ» в полях «NAZWA» и «JM» или в полях «DPN_ID», «DPN_UNQ» и «NAZWA». Это предотвратит вставку вашей пятой тестовой записи. Конечно, если в индекс также включены другие поля, вы можете вставлять записи, добавляя в эти поля отличительные значения.

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

Базы Paradox не обязаны содержать таблицы схем. Некоторые дизайнеры и администраторы баз данных будут писать свою документацию в файл INFORMATION_SCHEMA.db или некоторые из них, но BDE не будет рассматривать эту таблицу для ошибок. Базы Paradox обычно имеют тенденцию быть бесполезными, если они не задокументированы за пределами самих таблиц.

Как указывает @zdzichs, Delphi традиционно поставляется с утилитой Database Desktop, которая в основном представляет собой переопределенный Paradox для Windows. С помощью этой утилиты вы можете изучить структуру любой таблицы, включая ограничения и вторичные индексы.

0
ответ дан A. I. Breveleri 17 August 2018 в 12:08
поделиться
  • 1
    Вы читали мои комментарии под вопросом? Разумеется, да;) И что ваш ответ отличается от них, кроме более широкой проработки? Еще раз: все версии Delphi CONTAIN Database Desktop, которых достаточно для изучения структуры базы данных. В новых версиях (включая Токио) это всего лишь дополнительная загрузка. – zdzichs 17 July 2018 в 07:29
  • 2
    Спасибо за информацию. Я правильно понимаю, что мне нужно использовать, например, компонент TDatabase для изучения этой базы данных? – kwadratens 17 July 2018 в 10:47
  • 3
    Просто загрузите таблицу по таблице в Рабочий стол базы данных, нажмите кнопку «Реструктуризация» и просмотрите поля и индексы. Пожалуйста, помните, что вам нужна предварительная версия Windows для запуска утилиты (виртуальная машина будет работать, старая машина XP или Vista). – zdzichs 18 July 2018 в 07:25
Другие вопросы по тегам:

Похожие вопросы: