![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в 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]:-)
А редактировать ты хочешь не текущую запись?