Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.24;
Скачать: CL | DM;

Вниз

Чтение из Blob-поля   Найти похожие ветки 

 
Lena   (2002-05-30 14:13) [0]

Тип поля LONG RAW. Пользуюсь NCOCI.
Записываю так:
with OCIQuery1 do begin
active:=false;
sql.clear;
sql.add("update vid set icona=:par where id=:par1");
parambyname("par1").asinteger:=10;
ParamByName("par").DataType := ftBlob;
ParamByName("par").ParamType := ptInput;
ParamByName("par").LoadFromFile(OpenpictureDialog1.FileName,ftBlob);
execsql;
end;
Всё записывается без ошибок.
При чтении:
OCIQuery1.Active:=false;
OCIQuery1.SQL.Clear;
OCIQuery1.SQL.add("select icona from vid where id=:par1");
OCIQuery1.parambyname("par1").asinteger:=10;
OCIQuery1.active:=true;

stream:=TBlobStream.Create(
TBlobField(OCIQuery1.FieldByName("icona")),bmRead); //***

stream.Position:=0;
if stream.Size>0 then
image1.Picture.Bitmap.LoadFromStream(stream);
stream.Free;
выдаётся ошибка "invalid class typecast" на строке //***
Что я неправильно делаю?


 
Lusha ©   (2002-05-30 14:21) [1]

Все, вроде бы правильно... Необходимо лишь убедиться, что экземпляр OCIQuery1.FieldByName("icona") производный от TBlobField...


 
Kuusiniemi ©   (2002-05-30 14:22) [2]

Может все дело в том как у Вас объявлен stream? Может он не TBlobStream? Объявление переменных Вы не привели.


 
Black Cat ©   (2002-05-30 14:26) [3]

Попробуй
MS := TMemoryStream.Create;
TBlobField(OCIQuery1.FieldByName("icona")).SaveToStream(MS);
MS.Seek(soFromBeginning, 0);


 
Lena   (2002-05-30 14:38) [4]

stream : TBlobStream, конечно. :)
> Black Cat - спасибо, через TMemoryStream получилось. А я сама и не догадалась так сделать! Но непонятно, почему мой вариант не сработал. Ну ладно, всем спасибо ещё раз!


 
Lusha ©   (2002-05-30 14:48) [5]

Действительно не должно было работать... TBlobStream требует TBDEDataSet...



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

Текущий архив: 2002.06.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
7-77631
Max Programist
2002-03-28 23:36
2002.06.24
Modem in Delphi - SOS!


1-77430
Vladimir Prokofiev
2002-06-11 11:46
2002.06.24
Про создание AVI-файлов прямо из Delphi


1-77496
koty
2002-06-07 09:26
2002.06.24
Help по Дельфи


4-77672
IronHawk
2002-04-24 11:59
2002.06.24
Как рисовать на рабочем столе ? Запускаешь прогу и она начинает..


1-77486
Tkach_
2002-06-12 14:16
2002.06.24
ПОТОКИ