Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda con Blob (https://www.clubdelphi.com/foros/showthread.php?t=37390)

JerS 12-11-2006 01:51:31

Ayuda con Blob
 
Amigos ya se que el tema de blob esta muy trillado, pero en mi caso utiliza delphi7, mysql y un lector de biometria U are U..

cuando voy a grabar la huella en mi tabla de mysql en un campo tipo blob, me dice

Error: invalid class typecast.


este es el codigo que estoy utilizando..
ojo donde:

rs es el recordset de mi tabla de personal;
huella es de tipo blob;
y estoy conectando mi Base de datos de mysql con un odbc
estoy utilizando ADO

Código Delphi [-]
var 
Stream: TMemoryStream;  
begin Stream := TMemoryStream.Create;
formmain.image.Picture.Bitmap.SaveToStream(Stream);
TBlobField(rs.FieldByName('huella')).LoadFromStream(Stream);
rs.post();

oscarnoe 12-11-2006 03:09:15

Hola JerS,
esta claro que el error esta en:
Código Delphi [-]
TBlobField(rs.FieldByName('huella')).LoadFromStream(Stream);

Pero mira aqui a ver si te sirve este codigo:

http://www.swissdelphicenter.ch/torr...de.php?id=1271

Espero que te sea de ayuda.

Oscar Noe

JerS 12-11-2006 21:29:27

BUenas ya logre guardar en mi tabla de Mysql la imagen, ahora lo que no puedo es cargarla en un Timage; este es el codigo que estoy utilizando
Código Delphi [-]
var
jpg:TJPEGImage;
strm:TMemoryStream;
rs: TADODataSet;
begin

  rs := TADODataSet.Create(nil);
  rs.Connection := adoconnection1;
  rs.CommandText := 'SELECT * FROM enroll where id='+label1.Caption;
  rs.Open();

   if Not rs.Recordset.EOF Then
    Begin

   Jpg :=TJPEGImage.Create;
   Strm := TMemoryStream.Create;

  {1}   TBlobField(rs.FieldByName('template')).SavetoStream(Strm);

/// Ojo he probado con el 1 y el 2 siempre me da error de invalid class typecast

{2}    (rs.FieldByName('template')as TBlobField).SaveToStream(Strm);

   jpg.LoadFromStream(strm);
   image.Picture.Assign(jpg);

y siempre me da el siguiente error "Invalid class typecast"

oscarnoe 13-11-2006 02:16:19

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  blob: TBlobStream;
begin
  blob := yourDataset.CreateBlobStream(yourDataset.FieldByName('YOUR_BLOB'), bmRead);
  try
    blob.Seek(0, soFromBeginning);

    with TFileStream.Create('c:\your_name.doc', fmCreate) do
      try
        CopyFrom(blob, blob.Size)
      finally
        Free
      end;
  finally
    blob.Free
  end;
end;


La franja horaria es GMT +2. Ahora son las 13:20:03.

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