![]() |
| ||
|
|
Новости |
Поиск |
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;
...
Программа компилится без ошибок, но набор данных не изменяется,
остается таким,каким был при первоначальной загрузке.
Мастера-коллеги, помогите разобраться в проблеме.
Заранее благодарен , Анатолий.
Анатолий (2002-03-04 14:04:00) [21]Alexandr, я опять к Вам, если вы еще от меня не устали.
Обновление набора данных работает железно в IBDataSet и
в IBTable когда делаешь IBDataSet.Connected:=False, а затем
IBDataSet.Connected:=True. Если этого нет,то и Close/Open
не помогает.Но это не всегда удобно применять в программе ,
поэтому и обратился к ВАМ, мастерам ...
Анатолий (2002-03-04 13:44:00) [22]Alexandr, а на форму ,в смысле транзакций, брошен компонент
IBTransaction1 со свойством :
DefaultAction:=TACommit;
ReadCommited - такого свойства или метода я в этом компоненте что-то не видел ...
Alexandr (2002-03-04 12:53:00) [23]тогда RefreshSQL делай по этому полю
RefreshSQL :
"Select
ADRESS,
PARAM,
VAL_TT
from SOSTT
where
ADRESS = :ADRESS
да, и транзакция ReadCommited или как там у тебя вообще с транзакциями...
Анатолий (2002-03-04 12:47:00) [24]Alexandr, Вы говорите что не хватает первичного ключа,но
если это Primary Key , то он есть,сформирован на этапе создания табиицы по полю ADRESS,которое ктати тоже указано в наборе
данных IBDataSet компонента ... ?!
Arhelon (2002-03-04 12:46:00) [25]Я не совсем понимаю из Твоего кода, что должно измениться с набором данных, но одно могу сказать точно, что DataSet.Refresh с начала времён в Дельфях не работает. Ежли хотишь рефрешнуть то делай Close потом Open.
Анатолий (2002-03-04 12:46:00) [26]Alexandr, Вы говорите что не хватает первичного ключа,но
если это Primary Key , то он есть,сформирован на этапе создания табиицы по полю ADRESS,которое ктати тоже указано в наборе
данных IBDataSet компонента ... ?!
Arhelon (2002-03-04 12:46:00) [27]Я не совсем понимаю из Твоего кода, что должно измениться с набором данных, но одно могу сказать точно, что DataSet.Refresh с начала времён в Дельфях не работает. Ежли хотишь рефрешнуть то делай Close потом Open.
Alexandr (2002-03-04 12:21:00) [28]дык естественно.
Ведь если одно из полей изменилось, (что ты хочешь увидеть после refresh), то Refresh не вернет ниодной записи.
Первичного ключа не хватает...