Вниз
Скачать: 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.022 c
10-1110566105
Nicolas1989
2005-03-11 21:35
2006.01.01
Функция Sort


3-1131459679
syte_ser78
2005-11-08 17:21
2006.01.01
модератор.мудак:=труе


14-1134113810
syte_ser78
2005-12-09 10:36
2006.01.01
Косяки при настройке


14-1133895872
Дмитрий_05
2005-12-06 22:04
2006.01.01
Подключить два компъютера к интернету


14-1133863248
Qwertyqwert
2005-12-06 13:00
2006.01.01
PAS =>> CPP




   Наверх