![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Help me please [D3, dBase, FoxPro, ]
Alexsyy © (2001-12-04 08:52:00)Привет всем!
Подскажите сделать так чтобы первичные ключи после удаления например всех записей в таблице при последующем добавлении начинались с 1? Например: есть таблица содержит 4 строки первичные индекесы соответственно 1..4, удалили все, добавили 1 строку у нее первичный индекс 5 (вместо желаемого 1)
С уважением Alexsyy
Anatoly Podgoretsky (2001-12-05 01:06:00) [1]7
Nest (2001-12-04 14:40:00) [2]2Mick
Начиная с какой версии?
Niklen (2001-12-04 14:36:00) [3]Возможно, необходимо упаковать таблицу, чтобы не было уничтоженных записей
Table1.Exclusive := TRUE ;
Table1.Open ;
DbiPackTable( Table1.DBHandle, Table1.Handle, nil, nil, TRUE ) ;
Mick (2001-12-04 14:16:00) [4]В DBASE есть автоинкрементные поля.
Nest (2001-12-04 14:06:00) [5]А что, в DBASE есть автоинкрементные поля?
2Alexsyy
А где ты вообще берёшь значение ID ?
Ну например когда пустую таблицу попорядку начинаешь заполнять, то откуда значение берётся?
Есть идейки, но в холостую писать не хочется..
ValeraVV (2001-12-04 12:34:00) [6]Если нужен порядковый номер записи, то его можно и так получить (для FoxPro DBase), но вновь добавленные записи должны иметь ключ, отличный от других записей (в том числе и удаленных); Все это IMHO, а по вопросу: парадоксовской таблице (в определенном месте заголовка есть текущее значение автоинкрементного поля), его можно изменить, но открыв таблицу как обычный файл (думаю, то же справедливо и для DBase). Описание Header"а DBF есть у кого угодно. Если работать через БДЕ - легче пересоздать таблицу(или поле через запрос alter table)
Владислав (2001-12-04 09:44:00) [7]> Maxus (04.12.01 09:40)
Вообще-то, он написал для FoxPro и dBase
Maxus (2001-12-04 09:40:00) [8]Здравствуйте!
Если для MS SQL Server, то попробуйте так:
1. ключевой атрибут сделайте IDENTITY
2. в триггере удаления выполняйте TRUNCATE TABLE. Это команда сбрасывает IDENTITY столбцы в 0.
Посмотрите справку по IDENTITY (CREATE TABLE) и TRUNCATE TABLE.
P.S.
Ключи и индексы - разные вещи, мне кажется :)
Владислав (2001-12-04 09:32:00) [9]Ну создавай первичный индекс (ключ называется) с единицы. В чем проблемы?