Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.05.2009, 14:58
Serval Serval вне форума
Прохожий
 
Регистрация: 20.01.2009
Сообщения: 18
Репутация: 30
Вопрос Удалить определенные строки DBGrid

есть некая таблица с которой содержаться данные и время их занесения - все это выводится в DBGrid - нужно избавиться от строк которые по своему значению (ну кроме времени) неотличаються от самой первой, но в случае если строка отличается, то удалять данные далее нада сглядя уже на эту строку.
например если идет
1 2 3 время
1 2 3 время //удалить
2 2 3 время //далее удалять исходя из данных в этой строке
1 2 3 время //данные снова поменялись смотреть уже по этим данным
Ответить с цитированием
  #2  
Старый 07.05.2009, 19:36
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

т.е. если следующая строка = предидущей, то ее надо удалить?
Например
1 2 3 - новые данные
1 1 1 - новые данные
1 1 1 - эту строку удаляем
1 1 1 - эту строку удаляем
1 1 3 - новые данные
1 1 2 - новые данные
Смысл такой?

"Избавиться"- это удалить из базы или просто не отображать?
Если удалить, то
Код:
var stroka:string;
begin
Table1.First;
while not Table1.Eof do
 begin
 stroka:=Table1.FieldByName('colum name').AsString;
 Table1.Next;
 if Table1.FieldByName('colum name').AsString = stroka then
  Table1.Delete
  else
   stroka:=Table1.FieldByName('colum name').AsString; 
 end;
end;
по- моему так, код не проверял, могу ошибиться.
Ответить с цитированием
  #3  
Старый 07.05.2009, 19:44
Serval Serval вне форума
Прохожий
 
Регистрация: 20.01.2009
Сообщения: 18
Репутация: 30
По умолчанию

ну вообще хотелось бы неудалять а только неотображать (хотя если небудет выхода буду удалять)

Цитата:
т.е. если следующая строка = предидущей, то ее надо удалить?
вобщем да (ну цикл если нада всегда можно сделать хотя в данном случае временные рамки абсолютно неизвестны)

ну насчет кода - с DBGrid так просто неудалишь - как там вообще удалить строку предварительно считав что в ней
Ответить с цитированием
  #4  
Старый 08.05.2009, 12:18
Serval Serval вне форума
Прохожий
 
Регистрация: 20.01.2009
Сообщения: 18
Репутация: 30
По умолчанию

вообще код работает - но получилось несовсем то что нужно (ну там всеравно еще правки и в таблице данные по нескольким объектам сожержаться вперемешку)
ну как говориться "будем искать с перламутровыми пуговицами"
прийдется писать нудный скрипт по чистке базы от ненужных строк (ох нехотелось мне программу нагружать лишними запросами к базе - итак грузит на всю катушку иногда)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:54.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025