![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обнуление autoincrement поля... как ? [D5, Paradox]
Lego © (2002-08-23 07:22:00)Есть база, в ней было пускай 1000 записей, после простого удаления база как-бы пустая но размер *.db файла ужасен, если сделать так > Table1.EmptyTable; то более или менее нормально, но остаются старый(удаленные) номера строк... как можно и их обнулить(очистить) ?
Vlad1 (2002-08-25 13:20:00) [1]Уважаемый, Lego, попробуйте с помощью Sql через TQuery:
создайте новую таблицу с той же структурой, но с другим именем; если после удаления в старой таблице есть ещё данные, скопируйте их из старой таблицы в новую (insert), Удалите старую таблицу, а новую переименуйте.
Lego (2002-08-24 06:30:00) [2]Упаковка таблицы очищает саму таблицу от удаленных данных, но не несклеивает пустоты... например идут номера записей 1,2,3,4 а затем резко 20,21,22,23... впринципе мне это не очень нужно хотя неплохая штука...
мне нужно было другое... после Table1.EmptyTable; все данные из таблицы удаляются и сама таблица очищается... как-будто ее только создали... но... щетчик остается на последней записи...
SaS13 показал то что у когото такаяже проблема... щас пойду смотреть все варианты ответов...
Спасибо всем.
elv (2002-08-23 21:35:00) [3]Lego © (23.08.02 07:22)
Есть база, в ней было пускай 1000 записей, после простого удаления база как-бы пустая но размер *.db файла ужасен, если сделать так > Table1.EmptyTable; то более или менее нормально, но остаются старый(удаленные) номера строк... как можно и их обнулить(очистить) ?
А зачем?
P.S.Можешь войти в DBD и сделать поле сначала I, потом +_.
Vlad1 (2002-08-23 21:05:00) [4]Попробуй через TQuery:создай новую таблицу с такой же структурой и другим именем, скопируй оставшиеся после удаления данные из старой таблицы в новую, а затем удали старую таблицу, а новую переименуй (последнее через TTable, а всё остальное через ExecSQL). Работает быстро (года 2 назад проверял в 5-й дельфи).
_Pavel_ (2002-08-23 10:18:00) [5]В Delphi не пробовал, но в DatabaseDesktope EmptyTable
удаляет все записи без возможности их восстановления, при этом
обнуляются все AutoInc поля.
По всей видимости в Delphi все обстоит таким же образом.
А упаковку таблиц лучше брать из RXLib:
PackTable(Table1);
SaS13 (2002-08-23 09:28:00) [6]http://delphi.mastak.com/cgi-bin/forum.pl?look=1&id=1029844263&n=1
Skif (2002-08-23 08:55:00) [7]Вы долюжны упаковать таблицу. Если надо, то пишите на почтовый ящик вышлю пример. Или смтортите хелп на dbiDoRestructure(много параметров). И надо использовать, по моему,
Table1.Check(dbiDoRestructure(много параметров).