Ver Mensaje Individual
  #1  
Antiguo 09-03-2010
Efren2006 Efren2006 is offline
Miembro
 
Registrado: feb 2006
Posts: 172
Reputación: 19
Efren2006 Va por buen camino
Problema al Guarda el Valor del Campo Tipo BLOB

Explico Detalledamente el problema:

Tengo una tabla que tiene un Campo BLOB, en el mismo deseo guardar los datos de un Archivo, hago todo lo que normalmente hago para hacerlo todo funciona bien el unico problema es que NO GUARDA el valor en la BD.

Plataforma:
DELPHI 2009
FIREBIRD 2.1
COMPONENTES IBX

Describo la Rutina del programa, incluso estan en comentario varias formas que probe:

Código Delphi [-]
procedure TBioFormatos.wwDBGrid2IButtonClick(Sender: TObject);
Var
  Archivo:AnsiString;
  Campo,ArcMemo:TStream;
  Numero:Integer;
  Stream: TMemoryStream;
  FileData : TStringList;
begin
  inherited;
  if Formatos.RecordCount>0 then
     if Application.MessageBox('Desea Sincronizar este Reporte en la Base de Datos..?','VALIDAR',MB_YESNO+MB_ICONEXCLAMATION)=IdYes Then
        Begin
        Try
          Screen.Cursor:=crHourGlass;
          LockWindowUpdate(Handle);
          Archivo:=Global.RutaReporte+TRIM(FormatosNOMARCHI.Value)+'.fr3';
          if FileExists(Archivo) Then
             Begin
             Diseno.Close;
             Diseno.Open;
             if Diseno.RecordCount>0 then
                Begin
                //fileData := TStringList.Create;
                //fileData.LoadFromFile(Archivo);
                //Diseno.Edit;
                //TBlobField(CAMPO).LoadFromFile(Archivo);
                //Stream := TMemoryStream.Create;
                //fileData.SaveToStream(Stream);
                //Stream.Position := 0;
                // Cargar el campo Blob desde la corriente
                //TBlobField(Diseno.FieldByName('DISENO')).LoadFromStream(Stream);
                //TBlobField(Diseno.FieldByName ('DISENO')));
                //Numero:=Length(DisenoDISENO.Value);
                //Showmessage(DisenoDISENO.Value;
                //Campo:=Diseno.CreateBlobStream(Diseno.FieldByName ('DISENO'),bmWrite);
                //Campo.CopyFrom(ArcMemo,ArcMemo.Size);
                Diseno.Edit;
                DisenoDISENO.LoadFromFile(Archivo);
                Diseno.Post;
                Diseno.Transaction.CommitRetaining;
                End;
             End;
        Finally
          Campo.Free;
          ArcMemo.Free;
          fileData.Free;
          Stream.Free;
          Diseno.Close;
          Screen.Cursor:=crArrow;
          LockWindowUpdate(0);
          ShowMessage('El Archivo Fue Sincronizado ... Verifique ');
        End;
        End;
end;
Responder Con Cita