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

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

← →
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 вся ветка

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



Память: 0.47 MB
Время: 0.023 c
14-1134305309
AllWeyt
2005-12-11 15:48
2006.01.01
Проекты


1-1133506111
Михаил_
2005-12-02 09:48
2006.01.01
Создание окон с отдельными кнопками на панели задач


14-1134020215
baks_uz
2005-12-08 08:36
2006.01.01
MiTeC System Information Component


14-1133890435
Хинт
2005-12-06 20:33
2006.01.01
Выбор Delphi


1-1133814964
Fedia
2005-12-05 23:36
2006.01.01
Перетаскивание формы вместе с фреймом за контрол




   Наверх