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

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

Ответте хоть ради смеха...


Mikhail ©   (2002-01-18 21:42:00) 

Уважаемые,
1.Случалось ли у кого при IBQuery.CanselUpdates Access Violation?
Где и почему это может случиться? Просто одуреваю...
2.Не мог бы кто объяснить, что конкрктно происходит при
IBTransaction.CommitRetaining(RollBackRetaining) и какой в них прок?
Премного благодарен за Ваше участие.


Mikhail   (2002-01-21 17:03:00) [1]

Moscower, большое Вам спасибо, боюсь в Delphi глюк. По второму пункту - ну совсем зарапортовался я...


Moscower   (2002-01-19 21:18:00) [2]

1. Проверь наличие Data.QTutorsSubgroups в данный момент. Что оно не nil. У меня только в этом случае в таких условиях случались Access violation... Может кто-еще что-то подскажет, я лично ошибок в коде не вижу...

2. Поставь в свойствах транзакции "read_committed", "rec_version", "nowait" и почитай статью http://ib.demo.ru/devinfo/ibxtrans.htm


Mikhail   (2002-01-19 17:53:00) [3]

1. Да код то тут не хитрый

function TEditSubgroupsForm.fAddSubgroupOnTutor(aGroup_ID,
aTutor_ID: Integer): boolean;
begin
Result := True;
if Data.QGroups.Locate("GROUP_ID", aGroup_ID, []) then
if not Data.QTutorsSubgroups.Locate("Group_ID", aGroup_ID,[]) then
try
Data.QTutorsSubgroups.Insert;
Data.QTutorsSubgroups.FieldByName("GROUP_ID").Value := aGroup_ID;
Data.QTutorsSubgroups.FieldByName("GRUP").Value :=
Data.QGroups.FieldByName("GRUP").Value;
Data.QTutorsSubgroups.FieldByName("SUBGROUPNO").Value :=
Data.GetMaxSubgroupNo(aGroup_ID) + 1;
Data.QTutorsSubgroups.FieldByName("Tutor_ID").AsInteger := aTutor_ID;
Data.QTutorsSubgroups.Post;
except
Result := False;
raise;
end;
end;

procedure TEditSubgroupsForm.ActRemoveAllExecute(Sender: TObject);
begin
Data.QTutorsSubgroups.CancelUpdates;
end;


2. Это ясно. Не понятно почему другие иранзакции не видят изменений после CommitRetaining.


Moscower   (2002-01-19 09:42:00) [4]

1. Код покажи
2. Коммитится транзакция не закрывая набор данных. Вот хочешь ты подтвердить те изменения, которые вносил, но закрывать датасет не хочешь. Вот как раз для этого.


Наверх

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