Конференция "Базы" » TUniTable [Firebird 2.5]
 
  • bestonix © (13.07.11 09:17) [0]
    Доброго здоровья уважаемые.
    Разбираюсь в чужих исходниках и пытаюсь исправлять ошибки.
    Столкнулся с совершенно непонятной проблемой. На форме есть визуальный компонент TcxGrid к нему "привязан TUniTable. Одному из полей таблицы присваивается значение выбираемое из списка другой формы. Процесс присвоения выглядит так:
    if dmSecBD.taOPERS.State = dsBrowse then begin
         dmSecBD.taOPERS.Edit;
         dmSecBD.taOPERS.FieldByName('PERSONID').AsInteger := ASelectionList[0].PersonID;
    end;

    Все визуально для пользователя в процессе работы программы хорошо. При Scroll'елре видны значения которые присвоены строкам. Переоткрывание, обновление списка на форме не теряют значений. НО, перезапуск программы показывает, что на самом деле все пусто. В самих полях таблицы значение NULL.
    "Вынул" я на белый свет это поле в программе и руками "забил" данные. Все сохраняется как и положено, причем в случае ручного ввода и через выбор значения из списка другой формы события отрабатываются одни и те же. Но почему при ручном вводе значение сохраняется, а присвоенные через форму нет ?????

    Я осознаю, что надежда на Вашу помощь минимальна, но может кто подскажет в каком направлении "копать". Может есть хоть какие нибудь соображения, может кто тоже сталкивался с подобным поведением.  

    Буду благодарен за любые советы, подсказки и т.п.
    С уважением Дмитрий
  • Кщд (13.07.11 10:02) [1]
    commit?
  • bestonix © (13.07.11 10:37) [2]

    > Кщд   (13.07.11 10:02) [1]
    >
    > commit?


    TUniTabel аналог TTable.  Тут метод POST и он отрабатывает.
    После него свойство State переходит из состояния dsEdit в dsBrowse.
  • Кщд (13.07.11 10:47) [3]
    ещё раз: после редактирования у вас не происходит commit.
  • SQLEXPRESS (13.07.11 12:15) [4]
    если в соединении не указано, что commit автоматический,
    то его надо явно делать.

    можно 150 раз сказать Post, это будет видно только для текущего сеанса,
    пока не будет commit.
  • bestonix © (13.07.11 14:13) [5]
    Коллеги благодарю Вас за проявленную настойчивость в убеждении.
    Действительно, принудительно прописал Commit и вуаля.

    С уважением Дмитрий.
 
Конференция "Базы" » TUniTable [Firebird 2.5]
Есть новые Нет новых   [134431   +11][b:0][p:0]