Форум: "Базы";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];
ВнизКартинка в поле БД Найти похожие ветки
← →
leha (2005-08-12 10:14) [0]Подскажите пожалуйста, если кто знает, как загрузить картинку в поле БД, и как считать её оттуда. Для работы с базой использую ADO.
← →
rayrom © (2005-08-12 10:33) [1]Во простой пример:
BLOBFIELD как BITMAP
Сохраняем Bitmap в поле dbase с именем Icon. Icon представляет собой двоичное Blob-поле.procedure ....
var IconStream : TMemoryStream;
..
..
begin
.
.
IconStream := TMemoryStream.Create;
Image1.picture.icon.savetostream(IconStream);
(Table1.fieldbyname("Icon") as TBlobField).LoadFromStream(IconStream);
Table1.post;
IconStream.Free;
.
.
end;
** Читаем Bitmap в Timage из поля dbase с именем Icon.procedure .....
var IconStream : TMemoryStream;
..
..
begin
.
.
IconStream := TMemoryStream.Create;
(Table1.fieldbyname("Icon") as TBlobField).SaveToStream(IconStream);
{что бы что-нибудь записать, необходимо установить позицию потока в ноль!}
IconStream.Position := 0;
appointment.iconimage.picture.icon.loadfromstream(iconstream);
IconStream.Free;
end;
Надеюсь это поможет, поскольку найти информацию в справочной системе по этой теме практически невозможно. Чтобы сделать это, я перепробовал множество способов. Я пробовал использовать TBlobField и TBlobStream, но они не смогли мне помочь (может быть из-за убогой документации borland?).
ЗЫ: Взято из Кулиба2000.
ЗЫЫ: В этом примере есть одна ошибка, если найдеш лучше поймеш что к чему!!! ;)
← →
Desdechado © (2005-08-12 11:38) [2]> TBlobField и TBlobStream не смогли мне помочь (может быть из-за убогой документации borland?)
документация нормальная там
а вот с пониманием ее явно проблемы
лучше разбираться на примерах, а не плеватьсяvar
oS: TStream;
oJPG: TJPEGImage;
begin
oS := qryGraf.CreateBlobStream( qryGraf.FieldByName( "PICT_BLOB" ), bmRead );
try
if( oS.Size > 0 ) then begin
case( cExt[ 1 ] ) of
"B":
Image1.Picture.Bitmap.LoadFromStream( oS );
"I":
Image1.Picture.Icon.LoadFromStream( oS );
"J":
begin
oJPG := TJPEGImage.Create;
oJPG.LoadFromStream( oS );
oJPG.DIBNeeded;
Image1.Picture.Bitmap.Assign( oJPG );
oJPG.Free;
end;
"E", "W":
Image1.Picture.Metafile.LoadFromStream( oS );
end; // case
end; // if( BlobSize )
finally
os.Free;
end;
← →
rayrom © (2005-08-12 12:17) [3]2 Desdechado
Надо ЗЫ внимательнее читать, тан написано что весть текст примера с комментариями взято из Кулибы 2000!!!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c