Текущий архив: 2006.06.18;
Скачать: CL | DM;
ВнизBLOB not opened Найти похожие ветки
← →
D@Nger © (2006-05-31 07:29) [0]Здравствуйте мастера. Пытаюсь все запихать изображение JPG в BLOB поле и делаю это следующим образом:
dbimage1.Picture.LoadFromFile(opendialog1.FileName);
fmain.sotrud_tbl.Edit;
bs:=TBlobStream.Create(fmain.sotrud_tbl.fieldbyname("foto") as TblobField,bmWrite);
dbimage1.Picture.Graphic.SaveToStream(bs);
fmain.sotrud_tbl.Post;
bs.Free;
Выходит сообщение об ошибке "BLOB not opened" , а как его открыть ?
← →
Сергей М. © (2006-05-31 09:08) [1]SourceStream: TStream;
TargetStream: TBlobStream;
SourceStream := TFileStream.Create(opendialog1.FileName, fmOpenRead);
fmain.sotrud_tbl.Edit;
TargetStream := fmain.sotrud_tbl.CreateBlobStream(fmain.sotrud_tbl.fieldbyname("foto") as TBlobField, bmWrite);
TargetStream.CopyFrom(SourceStream);
fmain.sotrud_tbl.Post;
SourceStream.Free;
TargetStream.Free;
← →
D@Nger © (2006-05-31 09:15) [2]Большое спасибо!
← →
D@Nger © (2006-05-31 09:54) [3]Извените конечно Сергей М., но что-то у меня всё равно не получается.
TargetStream := fmain.sotrud_tbl.CreateBlobStream(fmain.sotrud_tbl.fieldbyname("foto") as TBlobField, bmWrite);
TargetStream и вторая половина разных типов...
я уже и так и сяк пробовал ничего не выходит, неужели это так сложно ?
← →
Сергей М. © (2006-05-31 09:59) [4]TargetStream: TStream;
p.s.
Вообще-то в станд.справке есть пример использования TDataSet.CreateBlobStream().
Попробуй догадайся с трех раз, для кого писана Борландом эта справка ..
← →
D@Nger © (2006-05-31 10:09) [5]а готовый пример есть ?
← →
Сергей М. © (2006-05-31 10:15) [6]Есть, в справке !
← →
D@Nger © (2006-05-31 12:03) [7]После долгих мучений вроде получилось поместить JPП в BLOB поле.
Правильно ли я сделал ?:
var b:TBlobField;
begin
if opendialog1.Execute then
begin
fmain.sotrud_tbl.Edit;
b:=fmain.sotrud_tbl.fieldbyname("foto") as TblobField;
b.LoadFromFile(opendialog1.FileName);
fmain.sotrud_tbl.post;
end;
end;
Теперь не могу считать из BLOB поля картинку в Image1:Timage;
Подскажите кто знает !
← →
Сергей М. © (2006-05-31 12:25) [8]
> не могу считать из BLOB поля картинку в Image1:Timage
Потому что Timage не работатает с JPG-форматом.
см. справку к TJPEGImage
← →
D@Nger © (2006-05-31 14:57) [9]Все сделал! Большое вам СПАСИБО Сергей М. Для остальных программеров столкнувшихся с этой проблемой пишу код считывания JPG из BLOB поля в Timage:
var bs:TBlobStream;
jp:TJPEGIMAGE;
begin
Bs := TBlobStream.Create(fmain.sotrud_tbl.fieldbyname("foto") as TblobField, bmRead);
jp:=TJPEGImage.Create;
jp.LoadFromStream(bs);
jp.DIBNeeded;
image1.Picture.Graphic:=jp;
jp.Free;
bs.Free;
end;
← →
D@Nger © (2006-05-31 14:59) [10]Тема закрыта
Страницы: 1 вся ветка
Текущий архив: 2006.06.18;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.011 c