![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не редактируеться ЗАПИСЬ? [D7, Access]
MrNew © (2007-05-25 11:24:00)Ребятки в общем ситуация такая:
Access->ADOCOnnection->ADOQuery->DataSource->DGGrid
делаю отделюную форму для редактирования и добавления записей в таблицу из базы Access (которая отражаеться в DBGrid).
При открытии новой формы для редактирования (в которой расположил множество DBEdit для каждого поля текщей записи ADOQuery) делаю ADOCOnnection.BeginTrans
Нажатие кнопки ОТМЕНА->ADOCOnnection.RollBackTrans
Нажатие кнопки OK->ADOCOnnection.CommitTrans->ADOQuery.Close,Open
Но изменения не сохраняються???
Что я не так дела ребята? Спасибо!!!
MrNew (2007-05-25 14:51:00) [1]Действительно ADOQuery.Edit и Post не хватало... Все работает спасибо!
MrNew (2007-05-25 14:44:00) [2]DrAndrey,Desdechado,ANB,ЮЮ - большое спасибо за отклик!
Сейчас попробую!
DrAndrey (2007-05-25 13:49:00) [3]Раз открываешь отдельную форму - может запись изменять отдельной командой UPDATE, а квери затем реквери.
Извините за каламбур :-)
Desdechado (2007-05-25 12:50:00) [4]Транзакцию надо открывать не перед редактированием, а перед сохранением изменений. Она должна быть как можно короче по времени. И, собственно, какой смысл в транзакции, если юзер передумал?
ANB (2007-05-25 12:03:00) [5]
> Что я не так дела ребята? Спасибо!!!
Все. Или почти все.
ЮЮ (2007-05-25 11:39:00) [6]Для одной записи транзакции ни к чему, а вот ADOQuery.Post не помешал бы. При отказе - Cancel. Да и Insert(Edit) для симметрии перед открытием формы не помешали бы