![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TUniTable [Firebird 2.5]
bestonix © (2011-07-13 09:17:00)Доброго здоровья уважаемые.
Разбираюсь в чужих исходниках и пытаюсь исправлять ошибки.
Столкнулся с совершенно непонятной проблемой. На форме есть визуальный компонент TcxGrid к нему "привязан TUniTable. Одному из полей таблицы присваивается значение выбираемое из списка другой формы. Процесс присвоения выглядит так:
if dmSecBD.taOPERS.State = dsBrowse then begin
dmSecBD.taOPERS.Edit;
dmSecBD.taOPERS.FieldByName('PERSONID').AsInteger := ASelectionList[0].PersonID;
end;
Все визуально для пользователя в процессе работы программы хорошо. При Scroll'елре видны значения которые присвоены строкам. Переоткрывание, обновление списка на форме не теряют значений. НО, перезапуск программы показывает, что на самом деле все пусто. В самих полях таблицы значение NULL.
"Вынул" я на белый свет это поле в программе и руками "забил" данные. Все сохраняется как и положено, причем в случае ручного ввода и через выбор значения из списка другой формы события отрабатываются одни и те же. Но почему при ручном вводе значение сохраняется, а присвоенные через форму нет ?????
Я осознаю, что надежда на Вашу помощь минимальна, но может кто подскажет в каком направлении "копать". Может есть хоть какие нибудь соображения, может кто тоже сталкивался с подобным поведением.
Буду благодарен за любые советы, подсказки и т.п.
С уважением Дмитрий
bestonix (2011-07-13 14:13:00) [1]Коллеги благодарю Вас за проявленную настойчивость в убеждении.
Действительно, принудительно прописал Commit и вуаля.
С уважением Дмитрий.
SQLEXPRESS (2011-07-13 12:15:00) [2]если в соединении не указано, что commit автоматический,
то его надо явно делать.
можно 150 раз сказать Post, это будет видно только для текущего сеанса,
пока не будет commit.
Кщд (2011-07-13 10:47:00) [3]ещё раз: после редактирования у вас не происходит commit.
bestonix (2011-07-13 10:37:00) [4]
> Кщд (13.07.11 10:02) [1]
>
> commit?
TUniTabel аналог TTable. Тут метод POST и он отрабатывает.
После него свойство State переходит из состояния dsEdit в dsBrowse.
Кщд (2011-07-13 10:02:00) [5]commit?