Ver Mensaje Individual
  #1  
Antiguo 22-02-2018
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Reputación: 23
BlueSteel Va por buen camino
Guardar Imagen en SQL

Holas

Ando medio lento y necesito vuestra ayudita...

Quiero almacenar una imagen en un base de datos de SQL. Campo de tipo Image

Quiero traspasar la imagen que esta en un componente TImagen (sFot)
Cargue la foto en el TImagen con componente TOpenPictureDialog

Aqui el proceso para guardar el registro, en donde tambien quiero guardar la foto

DM_Datos : Formulario tipo DataModule
AQ_Insert : AdoQuery

Código Delphi [-]
     DM_Datos.AQ_Insert.Close;
     DM_Datos.AQ_Insert.SQL.Clear;
     DM_Datos.AQ_Insert.SQL.Add('Insert Into Socio(Soc_Rut,Soc_Nombre,Soc_APaterno,Soc_AMaterno,Soc_FecNac,Soc_Estado,Soc_Direccion,Soc_Poblacion  ,Soc_Comuna,Soc_Telefono,Soc_Celular,Soc_Email,Id_TipoSocio,Id_Categoria,Soc_FechaIngreso,Soc_Foto)'  );
     DM_Datos.AQ_Insert.SQL.Add('Values (:v01, :v02, :v03, :v04, :v05, :v06, :v07, :v08, :v09, :v10, :v11, :v12, :v13, :v14, :v15, :v16)');
     DM_Datos.AQ_Insert.Parameters[0].Value   := sRut.Text;
     DM_Datos.AQ_Insert.Parameters[1].Value   := sNom.Text;
     DM_Datos.AQ_Insert.Parameters[2].Value   := sPat.Text;
     DM_Datos.AQ_Insert.Parameters[3].Value   := sMat.Text;
     DM_Datos.AQ_Insert.Parameters[4].Value   := sNac.Date;
     DM_Datos.AQ_Insert.Parameters[5].Value   := 1;
     DM_Datos.AQ_Insert.Parameters[6].Value   := sDir.Text;
     DM_Datos.AQ_Insert.Parameters[7].Value   := sPob.Text;
     DM_Datos.AQ_Insert.Parameters[8].Value   := sCom.Text;
     DM_Datos.AQ_Insert.Parameters[9].Value   := sTel.Text;
     DM_Datos.AQ_Insert.Parameters[10].Value  := sCel.Text;
     DM_Datos.AQ_Insert.Parameters[11].Value  := sMai.Text;
     DM_Datos.AQ_Insert.Parameters[12].Value  := DM_Datos.AQ_Tipo.FieldByName('Id_TipSocio').Value;
     DM_Datos.AQ_Insert.Parameters[13].Value  := DM_Datos.AQ_Categoria.FieldByName('Id_Categoria').Value;
     DM_Datos.AQ_Insert.Parameters[14].Value  := sIng.date;
    // Hasta aqui, todo funciona bien,me almacena, solo agregue ahora guardar la foto


     // La siguiente linea es donde quiero traspasar la Foto a la Tabla
     DM_Datos.AQ_Insert.Parameters[15].Value  :=  sFot.Picture. // en realidad no se como definir.. 

     DM_Datos.AQ_Insert.ExecSQL;

revise los foros y encontre lo siguiente, pero no lo entendi
Código Delphi [-]
procedure GuardarImagen(Imagen: TImage);
var
  StreamImagen: TStream;
begin
  qry := crear tu componente query 
  qry.Connection := le asignas la conexion
  qry.SQL.Text := 'INSERT INTO TABLA (CampoImagen) VALUES (:CampoImagen)';
  StreamImagen := TMemoryStream.Create;
  try
     Imagen.SaveToStream(StreamImagen);
    StreamImagen.Position := 0;
    qry.ParamByName('CampoImagen').AsSteam := StreamImagen;
    // puede ser en lugar de .AsSteam, .Value, o .LoadFromStream; depende de los componentes
    qry.Execute;
  finally
   StreamImagen.Free;
  end;
end
__________________
BlueSteel
Responder Con Cita