![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как использовать метод Refresh в компоненте IBDataSet [D5, IB6.x]
Анатолий © (2002-03-04 12:04:00)В свойствах компонента IBDataSet я описал свойства для работы
с одной таблицей в базе данных InterBase ver 6.0 от 10.01.2001:
SelectSQL :
"select ADRESS, PARAM, VAL_TT from SOSTT"
RefreshSQL :
"Select
ADRESS,
PARAM,
VAL_TT
from SOSTT
where
ADRESS = :ADRESS and
PARAM = :PARAM and
VAL_TT = :VAL_TT"
Далее в программе
применяю метод
...
IBDataSet1.Open;
...
IBDataSet1.Refresh;
...
Программа компилится без ошибок, но набор данных не изменяется,
остается таким,каким был при первоначальной загрузке.
Мастера-коллеги, помогите разобраться в проблеме.
Заранее благодарен , Анатолий.
Alexandr (2002-03-05 10:17:00) [1]тогда close/open
Arhelon (2002-03-05 09:57:00) [2]Сорри просто про разное говорили.
Я говорои про рефреш кучи записей а не одной.
Alexandr (2002-03-05 09:24:00) [3]я тебе уже ответ выслал
Arhelon (2002-03-05 08:35:00) [4]ту Alexandr Я Тебе на мало выслал примерчик. Покажи ПЛЗ откеда руки у мня растут
Alexandr (2002-03-05 07:16:00) [5]2Fareader:
>А зачем тебе обновлять только одну запись? Может кто-то изменил >еще что-то, а ты видеть не будешь.
Однако когда как. Иногда надо так, иногда так.
2Arhelon: Бред сивой кобылы. Какого хрена бы не работал Refresh. Так бы и писал "У МЕНЯ рефреш не работает еще с первой версии Delphi, потому что у меня руки не от туда растут" Извини за грубость, но иначе никак нельзя было...
2Анатолий: Есть такой компонент IBSQLMonitor-посмотри чего он при refresh показывает. Разбирайся Все должно быть нормально.
Fareader (2002-03-04 16:00:00) [6]А ты уверен, что вообще что изменилось?
А зачем тебе обновлять только одну запись? Может кто-то изменил еще что-то, а ты видеть не будешь.
Arhelon (2002-03-04 15:58:00) [7]Fareader © Насчет фигни не знаю но на практике данные не поднимаются.
Fareader (2002-03-04 15:51:00) [8]>Arhelon © Рефрешь работает тока для клиента а ежли другой клиент внес какието изменения то рефреш не покажет
Фигня. Если сделать CommitRetaining, то "качнуться" свежие данные, независимо кто их внес, а по принципу "кто последний - тот и папа" :)
Arhelon (2002-03-04 15:44:00) [9]Я прав потому как ещё с первых Дельфей енто у них такой косяк.
Ежли не хотишь чтоб сильно моргал грид отключай конрол и становись на ту-же запись потом включай.
Рефрешь работает тока для клиента а ежли другой клиент внес какието изменения то рефреш не покажет.
Анатолий (2002-03-04 15:26:00) [10]Fareader, теперь компилитсяIBTransaction1.CommitRetaining
,но Refesh не обновляет набор,попрежнему,видимо прав Arhelon,Refesh не работает с DataSet компонентами в IB,или он не прав ... мастера ???
Fareader (2002-03-04 15:13:00) [11]Прошу прощения %)
retaining
Спасибо Alexandr! Ты всегда на страже там где обсуждается InterBase :)
Arhelon (2002-03-04 15:11:00) [12]Походу у Тебя IBX не совсем последний. Если вообще он у Тя есть.
Alexandr (2002-03-04 15:09:00) [13]retaining
Анатолий (2002-03-04 15:02:00) [14]Fareader , не компилится это дело,как вы подсказываете,
я дал код как Вы подсказали :
IBTransaction1.CommitReatining;
затем
IBDataSet.Refresh;
но вот что ВЫШЛО !!!
[Error] Kkp_vvv.pas(281): Undeclared identifier: "CommitReatining"
Fareader (2002-03-04 14:47:00) [15]Перед тем как сделать рефреш сделай
IBTransaction1.CommitReatining
должно помочь.
Чтобы видеть изменения надо либо откатывать транзакцию либо ее подтверждать, CommitReatining - подтверждает изменения, не закрывая датасеты
Анатолий (2002-03-04 14:46:00) [16]Arhelon, да, конечно, есть понятие IBDataBase.Connected,
это я описался, первый раз на форум пишу.Значит так тому
и быть,метод Refresh в IBX компонентах при работе с InterBase
не работает,может быть со стандартными из Data Access тоже,
не пробовал.
Спасибо за полезный диалог.
Анатолий (2002-03-04 14:45:00) [17]Arhelon, да, конечно, есть понятие IBDataBase.Connected,
это я описался, первый раз на форум пишу.Значит так тому
и быть,метод Refresh в IBX компонентах при работе с InterBase
не работает,может быть со стандартными из Data Access тоже,
не пробовал.
Спасибо за полезный диалог.
Fareader (2002-03-04 14:44:00) [18]Перед тем как сделать рефреш сделай
IBTransaction1.CommitReatining
должно помочь.
Чтобы видеть изменения надо либо откатывать транзакцию либо ее подтверждать, CommitReatining - подтверждает изменения, не закрывая датасеты
Анатолий (2002-03-04 14:44:00) [19]Arhelon, да, конечно, есть понятие IBDataBase.Connected,
это я описался, первый раз на форум пишу.Значит так тому
и быть,метод Refresh в IBX компонентах при работе с InterBase
не работает,может быть со стандартными из Data Access тоже,
не пробовал.
Спасибо за полезный диалог.
Arhelon (2002-03-04 14:31:00) [20]У IBDataSet нет такого понятия как Connected он есть у IBDataBase
B когда Ты его меняешь то происходит всё тоже что и когда делаешь Open/Close. Не совсем понимаю что Тя не устраивает в таком способе. Хотя повторюсь Ревреш НЕ РАБОТАЕТ то есть работает но не с базой