ogorodov писал(а):Привет *Rik*
Я тут еще на баг наткнулся ... вот такая конструкция не работает
На исходной версии работала ... посмотри пожалуста
Я свой тестовый пример смотрю, в нем то-же самое, у меня работает. Можете сделать тестовый проект с базой?
Скорее всего транзакция не стартанула автоматом. На ibqPlanNume AutoStartTransaction установлено?
Попробуйте сделать так:
- Код: Выделить всё
- ibqPlanNume: TIBDataSet;
 ...
 procedure Tdm.DoReturnDatePlan(Sender: TObject; const Date: TDateTime; const TypPl: Integer; const KomentPl: String);
 begin
 ibqPlanNume.Edit;
 ibqPlanNume.FieldByName('DATEPL').AsDateTime:=Date;
 ibqPlanNume.FieldByName('TYPEPL').AsInteger:=TypPl;
 ibqPlanNume.UpdateTransaction.StartTransaction;
 (ibqPlanNume.FieldByName('NOTE') as TBlobField).AsString:=UTF8ToCP1251(KomentPl);
 ibqPlanNume.Post;
 end;
Если сработает, будем смотреть почему не срабатывает авто запуск транзакции.
Blob в IB живет отдельной жизнью, работа с ним идет не так как с обычными данными. Если при работе с данными транзакцию можно запустить во время метода Post, когда данные пересылаются на сервер, то при обращении к Blob полю данные тут-же отправляются на сервер, поэтому транзакцию нужно запускать отдельно, независимо от DataSet.Post.




