Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-01-2012
Avatar de look
look look is offline
Miembro
 
Registrado: sep 2007
Ubicación: The Shire
Posts: 656
Poder: 17
look Va camino a la fama
Hola amigo , gracias por responder pero.... estoy utilizando consultas para guardar los datos...lo que pasa es que estoy modificando mi formulario de alta de articulos tratando de agregar la funcion de que el usuario pueda seleccionar una imagen para un producto, ya tengo todo el formulario muy funcional , pero este funciona con consultas para guardar la info... lo que me esta dando palos es guardar la imagen

Saludos!
__________________
all your base are belong to us
Responder Con Cita
  #2  
Antiguo 26-01-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No entiendo amigo, el codigo que puse es lo que hace, guardar imagenes ??.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 26-01-2012
Avatar de look
look look is offline
Miembro
 
Registrado: sep 2007
Ubicación: The Shire
Posts: 656
Poder: 17
look Va camino a la fama
Cita:
Empezado por Caral Ver Mensaje
Hola
No entiendo amigo, el codigo que puse es lo que hace, guardar imagenes ??.
Saludos
si, pero utilizando tablas , necesito querys
por cierto , me da error en esta linea:
Código Delphi [-]
 bmp := TBitmap.Create;

Código:
object or class type requierd
__________________
all your base are belong to us
Responder Con Cita
  #4  
Antiguo 26-01-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No entiendo la necesidad de un query si solo se va y actualiza un campo, que mas da ?.
Revisa este:

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, DB, ADODB,  DBCtrls, ExtDlgs;

type
  TForm1 = class(TForm)
    Button2: TButton;
    ADOConnection1: TADOConnection;
    ADOTable1: TADOTable;
    DBNavigator1: TDBNavigator;
    DataSource1: TDataSource;
    OpenPictureDialog1: TOpenPictureDialog;
    Button3: TButton;
    Image2: TImage;
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses jpeg;

var jpg: TJPEGImage;

procedure TForm1.FormCreate(Sender: TObject);
Var BaseDeDatos, ConStr : String;

begin
   // Obtiene la ruta y el nombre de la base de datos
   BaseDeDatos := ExtractFilePath(Application.ExeName)+'xxx.MDB';
   If BasedeDatos = '' then ShowMessage('Error al cargar Base de Datos');
   ConStr := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
             'Data Source='+BaseDeDatos+';'+
             'Persist Security Info=False;'+
             'Jet OLEDBatabase Password=admin';
   ADOConnection1.ConnectionString := ConStr;
   ADOConnection1.Open;

 jpg := TJPEGImage.Create;        // Creamos el objeto que "entiende" al JPEG

end;

procedure TForm1.Button2Click(Sender: TObject);
var  Stream: TStream;
begin
 ADOTable1.Open;                 // Abrimos la tabla
 ADOTable1.Last;                 // Nos vamos a la última tupla para ver la ultima imagen añadida.
 Stream := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('photo'), bmRead); // Lo mismo que el anterior caso pero ahora en modo de escritura.
 jpg.LoadFromStream(Stream);     // Cargamos el BLOB al objeto JPEG
 Stream.Destroy;                 // liberamos...
 Image2.Picture.Assign(jpg);     // y asignamos la imagen al TPicture.

 end;

procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
var  Stream: TStream;
begin
 Stream := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('photo'), bmRead); // Lo mismo que el anterior caso pero ahora en modo de escritura.
 jpg.LoadFromStream(Stream);     // Cargamos el BLOB al objeto JPEG
 Stream.Destroy;                 // liberamos...
 Image2.Picture.Assign(jpg);     // y asignamos la imagen al TPicture.

end;

procedure TForm1.Button3Click(Sender: TObject);
var bmp: TBitmap; Stream: TStream;
begin
 if not OpenPictureDialog1.Execute then Exit;
 jpg.LoadFromFile(OpenPictureDialog1.FileName);
 ADOTable1.Open;                  // Abrimos la tabla
 ADOTable1.Insert;                // Insertamos una nueva tupla
 Stream := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('photo'), bmWrite); // Asignamos el BLOB a un stream
 jpg.SaveToStream(Stream);        // y guardamos la imagen como JPEG (convertido), en el stream
 Stream.Destroy;                  // liberamos.
 ADOTable1.Post;
end;

end.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 09-05-2016
genyus00 genyus00 is offline
Miembro
 
Registrado: jun 2010
Posts: 29
Poder: 0
genyus00 Va por buen camino
Hola tengo una duda, respecto a la solucion dada.. En que formato se guarda la imagen en la base de datos? como una cadena stream o como una imagen?
Responder Con Cita
  #6  
Antiguo 09-05-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Se guarda en formato binario plano o "raw"

No se puede guardar "como una imagen"
Responder Con Cita
Respuesta



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
Cargar imagen en Un TImage guardada en campo Blob o Objeto OLE en accsess gulder Varios 1 28-11-2008 18:54:43
guardar archivos en un campo blob a_f_g Firebird e Interbase 10 07-11-2008 20:46:28
Cargar imagen BLOB usando BDE leodenis784 Gráficos 3 12-09-2006 10:31:07
¿cargar un campo blob por codigo? fredo SQL 2 18-05-2005 14:56:59
guardar un fichero en un campo blob apicito Firebird e Interbase 2 02-03-2005 12:01:54


La franja horaria es GMT +2. Ahora son las 23:37:14.


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