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

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

Как в DBDrid свойство ReadOnly поставить только на текущую запись [D6, IB6.x]


Эрик ©   (2002-10-08 14:34:00) 

Как в DBDrid свойство ReadOnly поставить только на текущую запись?


Max Zyuzin   (2002-10-08 15:48:00) [1]

Кидаешь на форму компоненты IBDataBase, IBTransaction, IBQuery (или чем пользуешься), связываешь их..
Ну а дальше делаешь что то вроде
MyTransaction.StartTransaction;
try
... телодвижения с базой
except MyTransaction.RollBack //если ошибка
end;

MyTransaction.Commit или MyTransaction.CommitRetaining
Отличия почитай в хелпе


Эрик   (2002-10-08 15:34:00) [2]

Тогда подскажите пожалуйста как тут использовать транзакцию!!!
Покажите пример.


KSergey   (2002-10-08 15:12:00) [3]

Эрик (08.10.02 15:00)

А это уже транзакции называется. Для того они и предназначены.


passm   (2002-10-08 15:11:00) [4]

Не работал с IBDataSet, но посмотри есть ли там кэшированные изменения (аналог TQuery.CachedUpdates и TUpdateSQL). Если да, то, возможно, тебе это подойдет.


gek   (2002-10-08 15:11:00) [5]

Transaction


Эрик   (2002-10-08 15:00:00) [6]

А если я редактирую одну запись, а потом следующую и после всего этого нужно сделать Cancel, то отмена происходит только на последней записи. А нужно чтобы все изменения откатились.


Эрик   (2002-10-08 14:56:00) [7]

то есть мне нужно что-то типа:

procedure TfrCITIES.FlatButton4Click(Sender: TObject);
begin
DBGridEh1. CURRENTRECORD.ReadOnly:=false;
IBDataSet1.Edit;
end;


passm   (2002-10-08 14:55:00) [8]

Они и так нередактируемы. Дело в том, что если ты вызываешь TDataSet.Edit, TDataSet.Delete, то обрабатывается текушая запись. За остальные можно не беспокоиться :-)


Эрик   (2002-10-08 14:52:00) [9]

Я понял, но нужно чтобы все остальные записи оставались нередактируемыми.


passm   (2002-10-08 14:50:00) [10]

DBGrid.ReadOnly:= False
И редактируй текущую запись.


Эрик   (2002-10-08 14:47:00) [11]

Ну хорошо, снять ReadOnly с текущей записи


passm   (2002-10-08 14:42:00) [12]

:-)
А редактировать ты хочешь не текущую запись?


Наверх

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