Форум: "Начинающим";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];
ВнизУдаление записи в запросе Найти похожие ветки
← →
Alex_1234 © (2005-12-13 14:22) [0]Что неверно делаю: надо получить из таблицы данные, на основе этих данных произвести действия, потом эти полученные данные прибить. Пытаюсь сделать так:
Получаю данные:
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;//
Что я не так делаю???
← →
alex_*** © (2005-12-13 14:24) [1]а зачем в Edit заходить?
← →
Reindeer Moss Eater © (2005-12-13 14:24) [2]Не надо делать Edit
Не надо делать Post
Не надо делать Next
← →
Alex_1234 © (2005-12-13 14:34) [3]Спасибо....
← →
Anatoly Podgoretsky © (2005-12-13 15:30) [4]И плюс не надо делать while not qDeleNch.Eof
← →
Rater © (2005-12-13 15:39) [5][4] Не понял...
если я хочу провести набор операций над каждой записью, и при необходимости удалить ненужные, а как записи перебирать?
← →
0bsid © (2005-12-13 15:55) [6]создавай запрос на удаление:
qdelnch.close;
qdelnch.sql.clear;
qdelnch.sql.add("DELETE ....");
qdelnch.ExecSQL;
← →
Rater © (2005-12-13 16:08) [7]Alex_1234 ©
Задачку уточни, а именно:
Зачем удалять или что с этими данными дальше делать?
Что с данными делать ...{что-то делаю}
...
0bsid ©
Непонятно откуда автор удалять хочет...
Возможно просто подкорректировать результат запроса, но тогда может запрос более грамотно написать. Если нет, то разве существует обратная связь на уровне компонента между результатом select`а и самой базой????
(при условии что insertSQL, updateSQL, DeleteSQL не прописаны)
← →
0bsid © (2005-12-13 16:16) [8]судя по всему он решил вообще все выбраные записи удалить :)
← →
alex_*** © (2005-12-13 17:08) [9][4] -
если я хочу провести набор операций над каждой записью, и при необходимости удалить ненужные, а как записи перебирать?
while not qDeleNch.Eof do begin
{что-то делаю}
....
{пытаюсь удалить обработанную запись}
if SomeCondition then
qDeleNch.DeleteRecords(arCurrent)
else
qDeleNch.Next;
end;
← →
0bsid © (2005-12-13 17:28) [10]так по идее должно нормально работать, в чём проблемы?
если не получается, то каждый раз создавай SQL запрос на удаление
но лучше сначала создай транзакцию и заверши её после завершения цикла
тогда будет совсем гуд
может быть вообще твоё somecondition можно описать через SQL выборку?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c