Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Обновления в LookUpComboBox / 4 сообщений из 4, страница 1 из 1
30.10.2003, 18:18
    #32310934
фёдор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновления в LookUpComboBox
У меня такая ситуация (исп IBExpress в Delphi):
При нажатии кнопки "Edit" открывается диалоговое окно (соотв. стартует транзакция IBTransaction1), где соотв. поля выбранной записи можно редактировать (или добавлять новые).
Среди всех полей есть поле "город", на которое предусмотрен LookupComboBox,
соотв. выдающий города, кот. есть в базе. Тут же есть кнопочка "редактировать/добавить город" при нажатии которой (Procedure TownsRecs)выскакивает окно с таблицей (DBGrid) городов (соотв. стартует транзакция IBTransaction2), и там их соотв. можно добалять, редакт. и т.д.
Проблема: после закрытия окна с городами и подтвержд. изменений (IBTransaction2.Commit), в LookupComboBox ничего не изменяется, хотя и делаю Refresh IBDataSet (*), кот. явл. ListSource LookupComboBox.
Чувствую, что что-то неверно, а что - понять не могу.

Procedure TownsRecs;
begin
with TOKBottomDlg2.Create(Application) do
try
DM.IBDataSet_towns.Active:=false;
DM.IBDataSet_towns.Transaction:=DM.IBTransaction2;
DM.IBDataSet_towns.Active:=true;
ShowModal;
finally
if ModalResult=idOk then DM.IBTransaction2.Commit;
if ModalResult=idCancel then DM.IBTransaction2.Rollback;
DM.IBDataSet_towns.Transaction:=DM.IBTransaction1;
DM.IBDataSet_towns.Active:=true;
DM.IBDataSet_towns.Refresh; //(*)
Release;
end;
end;

Или вообще зря я вторую транзакцию ввел.
Пробовал по-другому, через ApplyUpdates, тогда все обновляется, но выбрать к примеру добавившееся значение в LookupComboBox не могу (думаю из-за того, что LookupComboBox связан с ListSource через PrimaryKey, а он через ApplyUpdates на сервере не сгенерится).
Хотя и тут может я не прав.
Помогите, а?
...
Рейтинг: 0 / 0
30.10.2003, 18:26
    #32310946
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновления в LookUpComboBox
Ну смотря какой ты режим изоляции использоовал. Если SHAPSHOT (concurrency), то повторное перечитывание вернёт данные на момент начала транзакции 1.
В оющем читай
...
Рейтинг: 0 / 0
30.10.2003, 18:52
    #32310989
фёдор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновления в LookUpComboBox
Как всегда Gold помог. Спасибо, что помогаешь ламерам учиться.
Еще раз огромное спасибо
...
Рейтинг: 0 / 0
30.10.2003, 19:07
    #32311006
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновления в LookUpComboBox
Мне тут в своё время тоже помогали. Я вот если займусь Ораклом, тоже в ламеры перейду
Я, на самом деле, бывает с дуру такое напишу на конференцию, что самому стыдно. Люди офигевают наверное, когда читают
У каждого есть право стормозить, я так считаю
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Обновления в LookUpComboBox / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]