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

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

как удалить (очистить) все записи из БД(*.db)


oleg_v ©   (2006-10-28 14:36:00) 

Здравствуйте, вопрос такой: как удалить (очистить) все записи из БД(*.db),
Делаю

For n:= dataModule1.Table1.RecordCount downto 1 do
dataModule1.Table1.delete;

работает но поле Autoincrement(+) не обнуляется. Может, есть еще, какой способ полностью очистить БД.
Заранее спасибо за ответ!


Германн   (2006-10-28 21:44:00) [1]

Если речь о Парадоксе, то чтоб грамотно очистить таблицу после удаления записей нужно вызвать DbiDoRestructure


vidiv   (2006-10-28 20:41:00) [2]

а TRUNCATE не поможет?? или это только в MySQL ?


oleg_v   (2006-10-28 15:18:00) [3]

Спасибо!


MsGuns   (2006-10-28 15:00:00) [4]

TTable.EmptyTable в режиме exclusive

  или

With TQuery.Create(nil) do
 begin
  DataBase := dataModule1.DataBase1;
  SQL.Text := 'Delete From Table';
  ExecSQL;
 end;

Обнуление счетчика (autoincrement) при этом не происходит. Если надо его обнулить лучше всего таблицу пересоздать, хотя в действительности это почти никогда не нужно


Ketmar   (2006-10-28 14:59:00) [5]

какая тебе разница -- 1 или 100? главное, чтобы уникально. для того автоинкремент и придуман. ты его как-то не по назначению используешь, по-моему.


oleg_v   (2006-10-28 14:52:00) [6]

Добавляю новую запись, по идеи она должна быть 1 а в поле Номер(+) она 100…


Ketmar   (2006-10-28 14:47:00) [7]

а зачем тебе автоинкремент обнулять?


Наверх

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