Вниз
Скачать: CL | DM;

Обнуление autoincrement поля... как ?   Найти похожие ветки 

 
Lego ©   (2002-08-23 07:22) [0]

Есть база, в ней было пускай 1000 записей, после простого удаления база как-бы пустая но размер *.db файла ужасен, если сделать так > Table1.EmptyTable; то более или менее нормально, но остаются старый(удаленные) номера строк... как можно и их обнулить(очистить) ?


 
Skif ©   (2002-08-23 08:55) [1]

Вы долюжны упаковать таблицу. Если надо, то пишите на почтовый ящик вышлю пример. Или смтортите хелп на dbiDoRestructure(много параметров). И надо использовать, по моему,
Table1.Check(dbiDoRestructure(много параметров).


 
SaS13 ©   (2002-08-23 09:28) [2]

http://delphi.mastak.com/cgi-bin/forum.pl?look=1&id=1029844263&n=1


 
_Pavel_   (2002-08-23 10:18) [3]

В Delphi не пробовал, но в DatabaseDesktope EmptyTable
удаляет все записи без возможности их восстановления, при этом
обнуляются все AutoInc поля.
По всей видимости в Delphi все обстоит таким же образом.
А упаковку таблиц лучше брать из RXLib:
PackTable(Table1);


 
Vlad1 ©   (2002-08-23 21:05) [4]

Попробуй через TQuery:создай новую таблицу с такой же структурой и другим именем, скопируй оставшиеся после удаления данные из старой таблицы в новую, а затем удали старую таблицу, а новую переименуй (последнее через TTable, а всё остальное через ExecSQL). Работает быстро (года 2 назад проверял в 5-й дельфи).


 
elv ©   (2002-08-23 21:35) [5]

Lego © (23.08.02 07:22)
Есть база, в ней было пускай 1000 записей, после простого удаления база как-бы пустая но размер *.db файла ужасен, если сделать так > Table1.EmptyTable; то более или менее нормально, но остаются старый(удаленные) номера строк... как можно и их обнулить(очистить) ?
А зачем?

P.S.Можешь войти в DBD и сделать поле сначала I, потом +_.


 
Lego ©   (2002-08-24 06:30) [6]

Упаковка таблицы очищает саму таблицу от удаленных данных, но не несклеивает пустоты... например идут номера записей 1,2,3,4 а затем резко 20,21,22,23... впринципе мне это не очень нужно хотя неплохая штука...
мне нужно было другое... после Table1.EmptyTable; все данные из таблицы удаляются и сама таблица очищается... как-будто ее только создали... но... щетчик остается на последней записи...

SaS13 показал то что у когото такаяже проблема... щас пойду смотреть все варианты ответов...
Спасибо всем.


 
Vlad1 ©   (2002-08-25 13:20) [7]

Уважаемый, Lego, попробуйте с помощью Sql через TQuery:
создайте новую таблицу с той же структурой, но с другим именем; если после удаления в старой таблице есть ещё данные, скопируйте их из старой таблицы в новую (insert), Удалите старую таблицу, а новую переименуйте.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
7-51003
Swordent
2002-07-03 20:47
2002.09.16
!!! Помогите, люди добрые !!!


1-50861
neodiX
2002-09-04 17:26
2002.09.16
Динамическая загрузка драйвера под NT


4-51030
Boroda Oleg
2002-07-26 11:07
2002.09.16
событие при потере (передаче) фокуса у компонента.


1-50758
victor_ch
2002-09-04 10:04
2002.09.16
Проблема со вставкой даты во Freereport


3-50628
FilSM
2002-08-26 19:09
2002.09.16
Отказ в редактировании некоторых строк таблицы.




   Наверх