![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Загрузка рисунка из БД в 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()