Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отмена изменений в DBGrid, как в Word e [D5, MSSQL]


KVT2002 ©   (2002-05-13 09:47:00) 

Уважаемые мастера!
Подскажите как лучше организовать отмену изменений произведенных в DBGrid, который связан с БД через ADOQuery на MSSQL сервере (хочу примерно как это сделано в Word"e). Может кто уже это делал. Желательно по-подробнее.


cpp   (2002-05-13 15:17:00) [1]

Я не спец по конмпонентам ADO но там есть TADOConnection. При помоши которого можно отменить последовательность твоих транзакций при помощи RollbackTrans или сохранить при помощи CommitTrans


KVT2002   (2002-05-13 12:07:00) [2]

Местами делаю:
DataM.ADOQueryUpdate.Close;
DataM.ADOQueryUpdate.SQL.Clear;
DataM.ADOQueryUpdate.SQL.Add("UPDATE PASP_PROD");
DataM.ADOQueryUpdate.SQL.Add("SET FAKT_DLI = " + FloatToStr(ostatok));
DataM.ADOQueryUpdate.SQL.Add("WHERE ID = " + IntToStr(N_ID));
DataM.ADOQueryUpdate.ExecSQL;

или

DataM.ADOQueryUpdate.Close;
DataM.ADOQueryUpdate.SQL.Clear;
DataM.ADOQueryUpdate.SQL.Add("INSERT PASP_PROD");
DataM.ADOQueryUpdate.SQL.Add("(NPLAV, DATE_TIME_R, NRUCH, NSLIT, REAL_DLI, WES_SLI, FAKT_DLI)");
DataM.ADOQueryUpdate.SQL.Add(" VALUES("""+N_PLAV+""",convert(datetime,"""+SN_DATIM_R+""",104),"+SN_NRUCH+","+SN_NSLIT+","+SN_RDLI+","+SN_WES_SLI+"," + FormPrih.RxDBGridDlin.Fields[3].AsString + ")");
DataM.ADOQueryUpdate.ExecSQL;


wicked   (2002-05-13 11:55:00) [3]

транзакции?....


KVT2002   (2002-05-13 11:38:00) [4]

Я понимаю, что надо где-то как-то запоминать все эти изменения, а потом их восстанавливать,но плз по-подробнее и лучше на конкретном примере.


Desdechado   (2002-05-13 11:30:00) [5]

кэшированные изменения + Refresh строки


Наверх

Титульная страница Поиск, карта сайта Написать письмо