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

Удаление всех записей в ADO.   Найти похожие ветки 

 
grusty ©   (2003-08-21 10:48) [0]

Есть база 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 сек. (?)
Что я не так делаю, подскажите.


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

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


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

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

DELETE from Spisok

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

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

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


 
Vlad ©   (2003-08-21 19:54) [3]

Не Open а ExecSQL



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

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



Память: 0.45 MB
Время: 0.012 c
1-33634
lord
2003-08-30 22:36
2003.09.11
а что рекурсия в потоке не работает ?


3-33514
Jedi
2003-08-19 14:13
2003.09.11
Отобразить запись в DBGrid-e в две строки


14-33808
MVova
2003-08-22 12:03
2003.09.11
Задачка про чай.


1-33672
Aleksandr
2003-08-29 15:22
2003.09.11
Как узнать, какой объект вызвал TAction?


3-33461
Марат
2003-08-21 06:46
2003.09.11
F1Book




   Наверх