Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Загрузка рисунка из БД в TImage [D5, MSSQL]


KirillRepin ©   (2008-09-12 16:50:00) 

Подскажите пожалуйста, а загрузить из БД обратно в TImage как?
как я понимаю это SaveToStream вот только немогу сформировать нормально код. Вот что делаю я:
var
s:TMemoryStream;
begin
s:=TMemoryStream.Create;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Text := 'SELECT Pic FROM Tab_Pictures WHERE Id_Pictures = 4';

Query1.ExecSQL;

end;

Что не так? и как правильно воткнуть и куда SaveToStream ?


Правильный$Вася   (2008-09-15 12:01:00) [1]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1221456652&n=1
не спамь больше


KirillRepin   (2008-09-12 17:57:00) [2]

Сделал:
 (Query1.FieldByName('Pic') as TBlobField).SaveToStream(s);
 s.Position := 0;
 Image1.Picture.Bitmap.LoadFromStream(s);

но почему то загружается черный квадрат, а не тот рисунок который грузился в БД???


Ega23   (2008-09-12 17:44:00) [3]

stream.position := 0;


KirillRepin   (2008-09-12 17:41:00) [4]

Делаю так:
var
 s:TMemoryStream;
begin
 s:=TMemoryStream.Create;
 Query1.Close;
 Query1.SQL.Clear;
 Query1.SQL.Text := 'SELECT Pic_Name, Pic FROM Tab_Pictures WHERE Id_Pictures = 4';
 Query1.Open;
 (Query1.FieldByName('Pic') as TBlobField).SaveToStream(s);
 Image1.Picture.Bitmap.LoadFromStream(s);
 s.Free;
end;

в TImage ничего не появляется???


Правильный$Вася   (2008-09-12 17:16:00) [5]


> она соответственно не работает

че говрит?
CreateBlobStream тоже можно


stas   (2008-09-12 17:10:00) [6]

Потом Image - LoadFromStream(S)


KirillRepin   (2008-09-12 17:08:00) [7]


> TBLOBField(FieldByName('BLOBField')).SaveToStream(S)
> где s TMemoryStream

непонятно как использовать TBLOBField, а (FieldByName('BLOBField')).SaveToStream(S)
и s TMemoryStream это все понятно. если просто вставить строку
TBLOBField(FieldByName('Pic')).SaveToStream(S) то она соответственно не работает


Ega23   (2008-09-12 17:04:00) [8]


> извините но можно попросить примером кода, а то не понимаю
> как это применить.


гм... Вообще-то это и есть пример кода. Если ты его не можешь понять - почитай хелп. Потом погугли. Не получится (понять) - найми программиста.


stas   (2008-09-12 16:59:00) [9]

TBLOBField(FieldByName('BLOBField')).SaveToStream(S)
где s TMemoryStream


KirillRepin   (2008-09-12 16:58:00) [10]


> Ega23 ©   (12.09.08 16:52) [1]
>
> TBLOBField(FieldByName('BLOBField')).SaveToStream()

извините но можно попросить примером кода, а то не понимаю как это применить.


Правильный$Вася   (2008-09-12 16:55:00) [11]


> Query1.ExecSQL;

Query.Open;


Ega23   (2008-09-12 16:52:00) [12]

TBLOBField(FieldByName('BLOBField')).SaveToStream()


Наверх

Титульная страница Поиск, карта сайта Написать письмо