![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удаление записи в запросе [D6, dBase, FoxPro]
Alex_1234 © (2005-12-13 14:22:00)Что неверно делаю: надо получить из таблицы данные, на основе этих данных произвести действия, потом эти полученные данные прибить. Пытаюсь сделать так:
Получаю данные:
qDeleNch - TADOQuery
qDeleNch.Close;
qDeleNch.SQL.Clear;
qDeleNch.SQL.Add('select * from MyDATA where data= :dp and par1= :par1');
qDeleNch.Parameters.ParamByName('dp').Value:=DateAuto49;
qDeleNch.Parameters.ParamByName('par1').Value:=StrToInt(edPar1.Text);
qDeleNch.Open;
Далее по тексту:
while not qDeleNch.Eof do begin
{что-то делаю}
....
{пытаюсь удалить обработанную запись}
qDeleNch.Edit;
qDeleNch.DeleteRecords(arCurrent);
qDeleNch.Post;
qDeleNch.Next;
end;//
Что я не так делаю???
0bsid (2005-12-13 17:28:00) [1]так по идее должно нормально работать, в чём проблемы?
если не получается, то каждый раз создавай SQL запрос на удаление
но лучше сначала создай транзакцию и заверши её после завершения цикла
тогда будет совсем гуд
может быть вообще твоё somecondition можно описать через SQL выборку?
alex_*** (2005-12-13 17:08:00) [2][4] -
если я хочу провести набор операций над каждой записью, и при необходимости удалить ненужные, а как записи перебирать?
while not qDeleNch.Eof do begin
{что-то делаю}
....
{пытаюсь удалить обработанную запись}
if SomeCondition then
qDeleNch.DeleteRecords(arCurrent)
else
qDeleNch.Next;
end;
0bsid (2005-12-13 16:16:00) [3]судя по всему он решил вообще все выбраные записи удалить :)
Rater (2005-12-13 16:08:00) [4]Alex_1234 ©
Задачку уточни, а именно:
Зачем удалять иличто с этими данными дальше делать?
Что с данными делать ...{что-то делаю}...
0bsid ©
Непонятно откуда автор удалять хочет...
Возможно просто подкорректировать результат запроса, но тогда может запрос более грамотно написать. Если нет, то разве существует обратная связь на уровне компонента между результатом select`а и самой базой????
(при условии что insertSQL, updateSQL, DeleteSQL не прописаны)
0bsid (2005-12-13 15:55:00) [5]создавай запрос на удаление:
qdelnch.close;
qdelnch.sql.clear;
qdelnch.sql.add('DELETE ....');
qdelnch.ExecSQL;
Rater (2005-12-13 15:39:00) [6][4] Не понял...
если я хочу провести набор операций над каждой записью, и при необходимости удалить ненужные, а как записи перебирать?
Anatoly Podgoretsky (2005-12-13 15:30:00) [7]И плюс не надо делать while not qDeleNch.Eof
Alex_1234 (2005-12-13 14:34:00) [8]Спасибо....
alex_*** (2005-12-13 14:24:00) [9]а зачем в Edit заходить?
Reindeer Moss Eater (2005-12-13 14:24:00) [10]Не надо делать Edit
Не надо делать Post
Не надо делать Next