![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Добрый день.
Если кого-то не затруднит. Сам я не программист ни разу, но приходится иногда решать те или иные задачи в своей работе, вот и приходится корявыми пальцами что-то делать. На форме есть 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
|
||||
|
||||
![]() Есть предположение, что запросом это можно сделать попроще:
Код:
delete YouTable where Field_data not like '%бла-бла-бла%' Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
![]() Так. Первый вопрос. Надо "удалить" записи из отображаемого набора или из базы (во втором случае их в БД больше не будет)? Точно надо удалять??? Или все-таки скрыть?
|