-
Подскажите пожалуйста, а загрузить из БД обратно в 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 ?
-
TBLOBField(FieldByName('BLOBField')).SaveToStream()
-
> Query1.ExecSQL;
Query.Open;
-
> Ega23 © (12.09.08 16:52) [1]
>
> TBLOBField(FieldByName('BLOBField')).SaveToStream()
извините но можно попросить примером кода, а то не понимаю как это применить.
-
TBLOBField(FieldByName('BLOBField')).SaveToStream(S)
где s TMemoryStream
-
> извините но можно попросить примером кода, а то не понимаю
> как это применить.
гм... Вообще-то это и есть пример кода. Если ты его не можешь понять - почитай хелп. Потом погугли. Не получится (понять) - найми программиста.
-
> TBLOBField(FieldByName('BLOBField')).SaveToStream(S)
> где s TMemoryStream
непонятно как использовать TBLOBField, а (FieldByName('BLOBField')).SaveToStream(S)
и s TMemoryStream это все понятно. если просто вставить строку
TBLOBField(FieldByName('Pic')).SaveToStream(S) то она соответственно не работает
-
Потом Image - LoadFromStream(S)
-
> она соответственно не работает
че говрит?
CreateBlobStream тоже можно
-
Делаю так:
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 ничего не появляется???
-
stream.position := 0;
-
Сделал:
(Query1.FieldByName('Pic') as TBlobField).SaveToStream(s);
s.Position := 0;
Image1.Picture.Bitmap.LoadFromStream(s);
но почему то загружается черный квадрат, а не тот рисунок который грузился в БД???
-