Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как редактировать AutoIncrement в таблицах Paradox? [D5, Paradox]


SerKom ©   (2002-08-31 17:05:00) 

Мне необходимо удалить запись в таблице с ID-полем типа AutoIncrement, затем ее же добавить и т.к. на нее есть ссылки в других таблицах то с тем же значением поля AutoIncrement. Как это сделать? Конвертация AutoIncrement->Shot->AutoIncrement не проходит на втором шаге.


Anatoly Podgoretsky   (2002-09-02 09:33:00) [1]

MsGuns © (02.09.02 03:05)
Ну скажем не так безоблачно как ты расписываешь, основная проблема это настройки, уж больно много проблем с его файлами поддержки возникает .net, .lck в Досе естественно меньше, система проще, сети были не развиты и т.д. и т.п. но точно также теже самые проблемы, как и сейчас, сейчас просто за счет большей распространенности, количество перешло в качество.


Виталий Панасенко   (2002-09-02 09:26:00) [2]

При конвертации Auto-Short-Auto вместо Short используй Integer (
при условии, что не построена ссылочная целостность)


MsGuns   (2002-09-02 03:05:00) [3]

>Anatoly Podgoretsky © (01.09.02 15:09)
>Парадокс непрлохо работал в Досе в однозадачных, не сетевых конфигурациях, а сверх этого это просто Парадокс

Ну уж Вам должно быть хорошо известно, что в ДОСе Парадокс ПРЕКРАСНО (чуть ли не лучне всех остальных) работал в СЕТЕВЫХ конфигурациях !!!


Anatoly Podgoretsky   (2002-09-01 15:09:00) [4]

Зря или нет это отдельный вопрос, а вот если ему нужно не Auto и тем более не Increment, то одназначно зря, а вот если он еще его и для связи использует, то в Парадоксе это могила, хотя и без связи могила. Любимый вопрос в различного рода конференциях, у меня рухнуло, что теперь делать. Парадокс непрлохо работал в Досе в однозадачных, не сетевых конфигурациях, а сверх этого это просто Парадокс


sniknik   (2002-09-01 14:56:00) [5]

Почему же зря? довольно удобно в большинстве случаев.
просто есть правило, если чтото делается автоматически то оно добавляет столько же гемороев от скольких и избавляет для сохранения равновесия. :-)

нравится? сам придумал!


SenderFar   (2002-09-01 14:47:00) [6]

>Anatoly Podgoretsky © (01.09.02 14:27)
>Это к теме AutoIncrement

Насколько я вас понял, спрашивающий вообще зря использовал этот тип в качестве Гл.ключа в связке. Если так, то я, конечно, полностью согласен.


Anatoly Podgoretsky   (2002-09-01 14:27:00) [7]

Это к теме AutoIncrement


MsGuns   (2002-09-01 14:03:00) [8]

>Anatoly Podgoretsky © (01.09.02 13:51)
>Как думаешь для чего в названии два корня Auto и Increment

Не совсем понял, к чему (или кому) это сказано


Anatoly Podgoretsky   (2002-09-01 13:51:00) [9]

Как думаешь для чего в названии два корня Auto и Increment


MsGuns   (2002-09-01 13:32:00) [10]

Для Paradox есть только один надежный способ "Корчевания корней"

1.Запрос всех внешн.ключей по деталу (рез-т сохранить в TmpTab)
SELECT DISTINCT ExtrnKey /*Внешний ключ */
FROM "Detail"

2. Удалить ключи, у которых есть "вершки"
DELETE FROM "TmpTab" D
WHERE (D.ExtrnKey IN (SELECT M.Key FORM "Master"))

3. Добавить в Мастер "вершки" для каждого корня.
INSERT INTO "Master" (Key)
SELECT ExtrnKey FROM "TmpTab"

4. Удаление TmpTab


sniknik   (2002-09-01 12:42:00) [11]

Именно создать а потом удалить. Не знаю как в парадоксе а в Access базе можно только так. И тип поля с простого редактируемого числа на автоинкремент поменять нельзя (а ведь возможностей в нем больше чем в парадоксе). Вот новое поле автоикремент создать можно (Alter table add column), оно заполнится сразу по порядку если таблица не пустая.


SerKom   (2002-09-01 09:30:00) [12]

Но у меня номера идут :17, 18, 21, 23 и т.д. и ссылок на каждую не меньше тысячи записей, можно конечно создать непрерывно, а потом ненужные удалить(19, 20, 22), ну а все таки?


sniknik   (2002-09-01 00:15:00) [13]

делать таблицу с AutoIncrement-том и вставлять записи в соответствии с тем какой он сам сделает. Как будто заново табличку заполняеш.

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


SerKom   (2002-08-31 18:53:00) [14]

Просто есть табличка с 12 записями и с ней что-то случилось - Дельфи RecordCount"ом наборов данных показывает, что их 11. Вот я и хотел в новенькую пустую 12 этих записей перекинуть, но как потом выставить нужные автоинкрементные ID?


wicked   (2002-08-31 18:10:00) [15]

а зачем удалять и вставлять?... это ж эквивалентно редактированию...


Наверх

Титульная страница Поиск, карта сайта Написать письмо