Вниз
Скачать: CL | DM;

Не редактируеться ЗАПИСЬ?   Найти похожие ветки 

← →
MrNew   (2007-05-25 11:24) [0]

Ребятки в общем ситуация такая:
Access->ADOCOnnection->ADOQuery->DataSource->DGGrid
делаю отделюную форму для редактирования и добавления записей в таблицу из базы Access (которая отражаеться в DBGrid).
При открытии новой формы для редактирования (в которой расположил множество DBEdit для каждого поля текщей записи ADOQuery) делаю ADOCOnnection.BeginTrans
Нажатие кнопки ОТМЕНА->ADOCOnnection.RollBackTrans
Нажатие кнопки       OK->ADOCOnnection.CommitTrans->ADOQuery.Close,Open
Но изменения не сохраняються???
Что я не так дела ребята? Спасибо!!!


← →
ЮЮ ©   (2007-05-25 11:39) [1]

Для одной записи транзакции ни к чему, а вот ADOQuery.Post не помешал бы. При отказе - Cancel. Да и Insert(Edit) для симметрии перед открытием формы не помешали бы


← →
ANB ©   (2007-05-25 12:03) [2]


> Что я не так дела ребята? Спасибо!!!

Все. Или почти все.


← →
Desdechado ©   (2007-05-25 12:50) [3]

Транзакцию надо открывать не перед редактированием, а перед сохранением изменений. Она должна быть как можно короче по времени. И, собственно, какой смысл в транзакции, если юзер передумал?


← →
DrAndrey ©   (2007-05-25 13:49) [4]

Раз открываешь отдельную форму - может запись изменять отдельной командой UPDATE, а квери затем реквери.
Извините за каламбур :-)


← →
MrNew   (2007-05-25 14:44) [5]

DrAndrey,Desdechado,ANB,ЮЮ - большое спасибо за отклик!
Сейчас попробую!


← →
MrNew   (2007-05-25 14:51) [6]

Действительно ADOQuery.Edit и Post не хватало... Все работает спасибо!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
4-1175334004
Galiaf
2007-03-31 13:40
2007.09.30
Смена обоины на API


10-1137315632
_Ruslan_
2006-01-15 12:00
2007.09.30
Почему при создании OLE в DLL вызывается ошибка?


2-1188997579
antonn
2007-09-05 17:06
2007.09.30
операции с массивами


8-1166796860
nuflin
2006-12-22 17:14
2007.09.30
вопрос по openlG


2-1188929716
Slip
2007-09-04 22:15
2007.09.30
Сбой при запуске Delphi




   Наверх