Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как использовать метод Refresh в компоненте IBDataSet [D5, IB6.x]


Страницы:   1 2

Анатолий ©   (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. Не совсем понимаю что Тя не устраивает в таком способе. Хотя повторюсь Ревреш НЕ РАБОТАЕТ то есть работает но не с базой


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо