Ver Mensaje Individual
  #3  
Antiguo 11-04-2007
argote argote is offline
Miembro
 
Registrado: abr 2007
Posts: 11
Reputación: 0
argote Va por buen camino
Hola Banzai

Deja ver si puedo darte otra forma de resolver tu problema,

En primer lugar para ver los archivos JPG tienes que adicionar en la clausula uses la unit JPEG. Estos archivos si te pueden dar un poco de dolor de cabeza a la hora de cargarlos a la base de datos.

Para cargar una imagen debes tener en cuenta que el campo donde los quieres depositar debe ser de tipo image, aca te pongo un pequeño ejemplo de una tabla creada para que te sirva de ejemplo.

create table imagenes (
imagen image)
go

Una vez tengas esto, vas a tu programa en Delphi y puedes hacer lo siguiente:

1. Creas una conexion a la base de datos, yo siempre lo hago a traves de ADO (TADOConnection).
2. Enlaza una tabla ADO a la tabla que creaste para contener las imagenes (TADOTable).
3. Enlaza esta tabla a un componente TDataSource.
4. En el componente TADOTable abre el Field Editor y selecciona todos los campos, o al menos el campo de la tabla donde vas a guardar la imagen.
5. Supuestamente tendrás un botón en tu aplicación que abra el componente TOpenPictureDialog, así que en el evento OnClick, escribe el siguiente código:

procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
begin
ADOTable1.Insert;
ADOTable1imagen.LoadFromFil(OpenPictureDialog1.FileName);
ADOTable1.Post;
end;
end;


Con estos pasos no deberias tener problemas para guardar la imagen.
Para extraer la imagen a tu aplicación, el componente TDBImage lo hace sin ninguna dificultad y si quieres hacer el proceso inverso, de guardar la imagen de la base de datos al disco duro, puedes utilizar el metodo SaveToFile() del componente TBlobField, te quedaría así:

ADOTable1imagen.SaveToFile('c:\MiImagen.bmp');
Responder Con Cita