Ver Mensaje Individual
  #1  
Antiguo 21-02-2007
Gigabyte1024 Gigabyte1024 is offline
Miembro
 
Registrado: feb 2007
Posts: 14
Reputación: 0
Gigabyte1024 Va por buen camino
problema al intentar guardar una imagen como blob en una tabla

hola, tengo un problema con este codigo:

procedure TForm1.Button2Click(Sender: TObject);
var
m,f: TStream;
s: string;
begin
ibdataset1.Active:=True;
if OpenPictureDialog1.Execute then
begin
f:= TFileStream.Create(OpenPictureDialog1.filename, fmOpenRead);
IBDataSet1.Insert;
m:= IBDataSet1.CreateBlobStream(IBDataSet1.FieldByName('foto'), bmReadWrite);
m.CopyFrom(f, f.Size);
ibdataset1.FieldByName('nombre').AsString:=edit1.Text;
ibdataset1.FieldByName('apellido').AsString:=edit5.Text;
ibdataset1.FieldByName('grado').AsString:=edit2.Text;
ibdataset1.FieldByName('turno').AsString:=edit3.Text;
ibdataset1.FieldByName('codigo').AsInteger:=strtoint(edit4.Text);
IBDataSet1.Post;
ibtransaction1.CommitRetaining;
f.Free;
m.Free;
end;

ibtransaction1.Active:=False;
end;

Su proposito principal es convertir una imagen a un BLOB y guardarla en la tabla de interbase pero al ejecutarlo me regresa este error: "feature is not supported BLOB and array data types are not supported for compare operation", espero alguien pueda ayudarme incluyo el codigo de la tabla para referencia:

CREATE TABLE CREDENCIAL
(
FOTO BLOB SUB_TYPE 0 SEGMENT SIZE 20000,
NOMBRE VARCHAR(25),
APELLIDO VARCHAR(40),
GRADO VARCHAR(10),
TURNO VARCHAR(20),
CODIGO INTEGER
);

por sus respuestas gracias.
Responder Con Cita