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

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

Удаление всех записей в ADO. [D5, MSSQL]


grusty ©   (2003-08-21 10:48:00) 

Есть база Access. На форме - ADODataSet. Как удалить все записи?
При вызове ADODataSet.DeleteRecords возникает ошибка "Operation is not allowed in this context". Пытаюсь удалить так:

with Main.Spisok do begin
DisableControls;
try
First;
while not Eof do Delete;
finally
EnableControls;
end;
end;

удаление 400 записей происходит за 8 сек. (?)
Что я не так делаю, подскажите.


Vlad   (2003-08-21 19:54:00) [1]

Не Open а ExecSQL


grusty   (2003-08-21 19:50:00) [2]

Я даже знаю текст SQL запроса:

DELETE from Spisok

А как это на практике осуществить?
Что-то вроде:

with ADOQuery do begin
SQL.Text:="DELETE from Spisok";
Open;
Close;
end;

не работает. Помогите!


sniknik   (2003-08-21 11:00:00) [3]

> Что я не так делаю, подскажите.
не используеш SQL,
при твоем способе (вместо одной команды) создается список букмарков (когда удаляеш очень большое кольчиство записей так выдает ошибку типа нехватает места под букмарки, поэтому так решил что через них) на записи которые удалять, они сначала по одному набираются в пакет после передаются движку и также по одному "разруливаются". так быстро не получится.


Наверх

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