![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как очистить от данных TFIBDataSet не закрывая его
DelphiLexx © (2006-08-09 13:51:00)Как очистить от данных TFIBDataSet не закрывая (т.е. без вызова TFIBDataSet.Close) его?
zdm (2006-08-10 09:52:00) [1]MsGUns, ну и.....набил, if ошибся sql.clear без update там или commit, дальше новый запрос на ins или upd, помоему ,,,без обид,,вопрос изначально был не корректен , а мы тут целую конференцию развели
Anatoly Podgoretsky (2006-08-09 19:14:00) [2]Без поллитры не понять вам.
evvcom (2006-08-09 17:14:00) [3]> [21] MsGuns © (09.08.06 16:51)
Для этого есть Cancel и CancelUpdates (в некоторых реализациях НД)
MsGuns (2006-08-09 16:51:00) [4]Че тут непонятно-го, мужики ?
Чел имеет в виду, например, новую накладную. Изначально выборка фактуры вернет пустой датасет, затем узер туда чегой-то настучит и "таблица" как бы будет уже не пустой. А потом вдруг передумал и надо все типа аннулировать. Вот и возникла сабжевая проблема
;)
Виталий Панасенко (2006-08-09 16:37:00) [5]Хотя в FIBPlus это можно сделать
while not pFIBDS.Eof do
pFIBDSl.CacheDelete;
evvcom (2006-08-09 15:33:00) [6]> [18] zdm © (09.08.06 14:38)
Хотел было с ходу отправить в исходники VCL, так как считал, что ЭТОЙ фильтрацией занимается сам компонент причем естественно без переоткрытия. Но полез сам удостовериться в своей правоте, но в TDataSet ничего подобного не обнаружил. Там только делается проверка CheckBiDirectional и запоминается значение в соответствующей приватной переменной. Поэтому делаю вывод, что все зависит от реализации в конкретном классе НД. Более подробно с этим разбираться что-то не хочется.
zdm (2006-08-09 14:38:00) [7]evvcom, перефильтровкой ты по сути тоже сделаешь переоткрытие(во сказанул-то ).
zdm (2006-08-09 14:36:00) [8]тогда не понятно зачем вообще его(dataset) держать открытым, помоемому автору надо объяснить что-же его так тревожит?
Sergey13 (2006-08-09 14:33:00) [9]> [11] Виталий Панасенко (09.08.06 14:27)
ИМХО, скорее способы решения обычных задач, товарищ выбирает, мягко скажем, необычные. И скорее всего, потому, что обычные способы ему неведомы.
TohaNik (2006-08-09 14:32:00) [10]Filtered
Правда при этом деньги совсем не исчезнут, они в заначку заначатся:)
evvcom (2006-08-09 14:32:00) [11]> [12] zdm © (09.08.06 14:28)
Не пойдет. DataSet закроется.
Во! Придумал!
DataSet.Filter := '0=1';
DataSet.Filtered := True;
DataSet останется открытым, а все данные исчезнут! :-)
zdm (2006-08-09 14:29:00) [12]end; :))
zdm (2006-08-09 14:28:00) [13]sql.clear
Виталий Панасенко (2006-08-09 14:27:00) [14]У человека какие-то задачи не из нашего, 3-хмерного мира...честно, сложилось такое впечатление по ряду постов...
Sergey13 (2006-08-09 14:26:00) [15]> [8] DelphiLexx © (09.08.06 14:21)
Т.е. что бы в кармане стало пусто, но деньги, которые в нем лежат, что бы остались? Интиресная задача!
SergP (2006-08-09 14:22:00) [16]> [5] DelphiLexx © (09.08.06 14:02)
>
> > А разве не это надо? 8-)
>
> Нет из БД удаляться не должно.
Тогда зачем такое вообще нужно?
DelphiLexx (2006-08-09 14:21:00) [17]
>
> Ты мне прямо скажи
> Че те надо, че те надо
> (с) Балаган Ltd
> 8-0
Говорю прямо мне надо, чтобы из FIBDataSet'a исчезли данные, но не из БД.
zdm (2006-08-09 14:16:00) [18]да уж , дагодайся мол сама ......
можно и не в цикле
DELETE * FROM ТАБЛИЦА :)
Sergey13 (2006-08-09 14:10:00) [19]> [5] DelphiLexx © (09.08.06 14:02)
Ты мне прямо скажи
Че те надо, че те надо
(с) Балаган Ltd
8-0
DelphiLexx (2006-08-09 14:02:00) [20]
> А разве не это надо? 8-)
Нет из БД удаляться не должно.