Buenas, espero todos estén bien. Tengo una tabla (PACIETNES) en la cual tengo un campo (pxfoto) de tipo IMAGE, esto es en SQL SERVE 2014 utilizando Delphi XE7/10. Tengo los siguientes procedimientos :
Código Delphi
[-]procedure TfrmPacientes.cargar_imagen;
Var
bmp: TBitmap; Stream: TStream;
bs : TMemoryStream;
begin
with DM.QryPacientes do
begin
Stream := dm.QryPacientes.CreateBlobStream(dm.QryPacientes.FieldByName('pxfoto'), bmWrite);
imgfoto.Picture.Graphic.SaveToStream(Stream);
Stream.Free;
end;
end;
Código Delphi
[-]procedure TfrmPacientes.mostrar_imagen;
var
Stream: TStream;
begin
Stream := dm.QryPacientes.CreateBlobStream(dm.QryPacientes.FieldByName('pxfoto'), bmRead);
Stream.Seek(0, soFromBeginning);
imgfoto.Picture.Graphic.LoadFromStream(Stream);
Stream.Destroy;
end;
Al guardar el campo no tengo problema, incluso veo que el campo pasa de null a <Datos binarios>, pero cuando quiero mostrar la imagen justo en donde marque como rojo da un error. lo intente con bitmap y da mensaje de error de bitmap no valid; si lo dejo con graphic da un error adress violation adress 00700EDA.
Si pueden ayudarme con este problema. se los agradecere.