Вниз
Скачать: CL | DM;

Как сохранить поток в Blob поле InterBase6   Найти похожие ветки 

 
Mihas ©   (2003-01-22 14:38) [0]

Подскажите пожайлуста:
Пытаюсь сохранить компонент в Blob поле Interbase
структура таблицы:
CREATE TABLE PRICEEDITOR (
ID INTEGER,
DATAVKL BLOB sub_type -1 segment size 80);

Делаю так:
procedure TFormPriceEditor.SaveToField;
var
Stream : TBlobStream;
FormName : string;
i : Integer;
FField :TBlobField;
begin
FField:= DM.PRICEEDITORDATAVKL;
Stream := TBlobStream.Create(DM.PRICEEDITORDATAVKL, bmWrite);
^ здесь ругается Так("Invalid klass typecast")
DM.PRICEEDITOR.Insert;
DM.PRICEEDITORID.Value:= ELDesigner1.DesignControl.ControlCount -1;
try
for i:= 0 to ELDesigner1.DesignControl.ControlCount -1 do
begin
FormName := Copy(ELDesigner1.DesignControl.Controls
[i].ClassName, 2, 99);
Stream.WriteComponentRes(FormName, ELDesigner1.DesignControl.Controls[i]);
end;
finally
DM.PRICEEDITOR.Cancel;
Stream.Free;
end;
end;
В чем моя ошибка, или как сделать по другому ?


 
-=Sergeante=- ©   (2003-01-22 16:03) [1]

Попробуй создать

var stream:TMemoryStream ;
...
begin
Stream:=TMemoryStream .Create;
...//записываешь что надо в поток а потом
TBlobField(DM.PRICEEDITOR).LoadFromStream(stream);



 
-=Sergeante=- ©   (2003-01-22 16:04) [2]

Только перед POST нада обязательно сделать Stream.free



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.017 c
3-28648
Mihas
2003-01-22 14:38
2003.02.10
Как сохранить поток в Blob поле InterBase6


3-28589
Ahmad K
2003-01-25 02:25
2003.02.10
Графическая база


3-28615
Андрусь
2003-01-22 13:18
2003.02.10
Как передать в базу число > предела точности Integer


3-28674
shev
2003-01-24 13:53
2003.02.10
Package - Как выполнить процедуру из Package


14-29100
Serjio Moro
2003-01-26 02:19
2003.02.10
Совместимость железяк...




   Наверх