Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.01;
Скачать: 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 вся ветка

Текущий архив: 2006.01.01;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
2-1134487118
TBeginner
2005-12-13 18:18
2006.01.01
Найти далее в TFindDialog


14-1133800393
psa247
2005-12-05 19:33
2006.01.01
Несворачиваемое окно !


14-1134186110
Alexe_y
2005-12-10 06:41
2006.01.01
Vb.net и delphi


2-1134552643
Romiros
2005-12-14 12:30
2006.01.01
Знаки после запятой!


4-1130744089
sergg
2005-10-31 10:34
2006.01.01
Как заменить используемый файл?