Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 09-04-2014
keine1lust keine1lust is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 17
Poder: 0
keine1lust Va por buen camino
pasos para guardar imagenes

1.
declarar el uso de unidad DB y componente Zeos
Código Delphi [-]
unit freg_per;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Buttons,
  StdCtrls, MaskEdit,ExtCtrls, ExtDlgs,conexionesbd, ZDataset,DB;

es importante declarar la unidad DB ya que el contiene las constantes para el manejo de varibles tipo blob ejemplo: ftBlob, ptInput si no la declaran el compilador no reconocerá dichas variables

2. este codigo es el que te da la guia de zeoslib:

Código Delphi [-]
Var TheStream : TMemoryStream;
Begin
  TheStream := TMemoryStream.Create;
  Try
    Image1.Picture.Bitmap.Savetostream(TheStream);
    With qryBlobInsert do 
    Begin
      Sql.Text := 'INSERT INTO EVENTS (EventNo,EVENT_PHOTO) VALUES (100,:ThePicture)';
      Params.Clear;
      Params.CreateParam(ftBlob,'ThePicture', ptInput);
      ParamByName('ThePicture').LoadfromStream(TheStream,ftBlob);
      ExecSQL;
    End;
  Finally
    TheStream.Free;
  End;
End;

en mi caso lo adapte a lo que necesitaba:

Código Delphi [-]
 TheStream := TMemoryStream.Create;
  Try
    Image1.Picture.Jpeg.Savetostream(TheStream);

    conexiodb.Conectar_Mysql; //llamo a la base de datos para conectarme
    sqlejecuta:=TZQuery.Create(nil);//creo un nuevo objeto

    With sqlejecuta do
    Begin
      Connection:= Conexion;
      Sql.Text:='INSERT INTO personal(cedula,nom_comp,direccion,telf_movil,'+
                'tlf_local,cargo,foto,departamento_iddepart,'+
                'parametro_idparametro,'+
                'tip_empleado_idtip_emp,id_user) '+
                'VALUES('+mcedula+','+ mnom_comp+','+mdireccion+
                ','+mtelf_movil+','+ mtlf_local+','+mcargo+',:foto'+
                ','+middepart+','+midparametro+','+midtip_emp+
                ','+QuotedStr(tid_user)+')';
      Params.Clear;
      Params.CreateParam(ftBlob,'foto', ptInput);
      ParamByName('foto').LoadfromStream(TheStream,ftBlob);
      ExecSQL;
    End;
  Finally
    TheStream.Free;
  End;

   MessageDlg('Registro almacenado con exito',mtInformation,[mbOK], 0);

   end     
Conexion.Disconnect;

de igual forma como hice el insert lo adapto para hacer update

hice una pequeña combinación ya que por el momento tengo que investigar mas sobre el uso de Params

si alguien me puede sugerir como optimizar el código o que sea mas presentable para otros programadores se los agradecería
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Guardar imagenes en dll Melissa_12 Varios 2 04-12-2012 16:16:41
Lazarus, Linux, ZeosLib, Firebird. ¿Qué combinación funciona? rolandoj Lazarus, FreePascal, Kylix, etc. 44 12-09-2011 23:47:45
Mover imagenes creadas en tiempo de ejecucion en lazarus Guy Fawkes Lazarus, FreePascal, Kylix, etc. 1 14-01-2010 19:09:14
Guardar en una variable el contenido de 100000 registros obtenidos con ZeosLib noob Conexión con bases de datos 7 20-04-2009 09:14:50
Guardar Imagenes escarlete Gráficos 1 11-10-2005 18:57:47


La franja horaria es GMT +2. Ahora son las 18:57:45.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi