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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.04.2015, 11:30
graers graers вне форума
Прохожий
 
Регистрация: 03.04.2015
Сообщения: 2
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Удаление записи из dataset

Добрый день.
Если кого-то не затруднит.
Сам я не программист ни разу, но приходится иногда решать те или иные задачи в своей работе, вот и приходится корявыми пальцами что-то делать.
На форме есть dbgrid в котором отражены результаты SQL запроса.
Запрос через TApolloQuerry.
Результатом запроса является набор записей, содержащих три поля. Одно из полей memo.
Из набора записей нужно программно удалить те, memo поле ('FIELD_DATA') которых не содержит эталонной строки.
Алгоритм, собственно такой:
Dbgrid.Datasource.Dataset.First (установил курсор на первую запись)
создаю переменную m:Tmemo
считываю в m значение memo поля из Dataset: m.Lines.Text:= Form1.DBGrid2.DataSource.DataSet.FieldValues['FIELD_DATA']
проверяю содержимое по строкам.
Если эталонная строка в m есть, то Form1.DBGrid2.DataSource.DataSet.Next;

Если эталонная строка в строках m отсутствует, то удаляю запись.
Form1.DBGrid2.DataSource.DataSet.Delete;

Все это в цикле.
По идее, после удаления, курсор должен переместиться на следующую запись. Так в справке прочитал.
Но , во-первых, удаляется не первая запись (на которую я переместился в начале) а последнюю;
во-вторых, он не перемещается на следующую запись.

Что в моем подходе не так?
Ответить с цитированием
  #2  
Старый 04.04.2015, 01:18
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Есть предположение, что запросом это можно сделать попроще:
Код:
delete YouTable where Field_data not like '%бла-бла-бла%'
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 04.04.2015, 07:02
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Так. Первый вопрос. Надо "удалить" записи из отображаемого набора или из базы (во втором случае их в БД больше не будет)? Точно надо удалять??? Или все-таки скрыть?
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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