Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 01-12-2005
gcaffe gcaffe is offline
Miembro
 
Registrado: oct 2004
Posts: 53
Poder: 22
gcaffe Va por buen camino
Hola:
Gracias por tu sugerencia Delphi.com.ar, esto es lo que he realizado:

1) He modificado el código delphi que ejecuta el TADOStoreProcedure que actualiza la Tabla, quedando así:

Código Delphi [-]
 procedure TfrmInformes.frmBtnsbtnPostClick(Sender: TObject);
 var
   AStream: TStream;
 begin
   with DM.SProc do begin
      Active := False;
      ProcedureName := 'InformesMOD;1';
      Parameters.Refresh;
      Parameters.FindParam('@IDInforme').Value := DM.InformesVERIDInforme.Value;
 
      AStream := TMemoryStream.Create;
      try
         edRMemo.Lines.SaveToStream(AStream);
        Parameters.FindParam('@Texto').LoadFromStream(AStream, ftBlob); //    .Value := edRMemo.Lines;
      finally
         AStream.Free;
      end;
      if not Prepared then Prepared := True;
      ExecProc;
   end;
 end;

Nota: He eliminado lineas para que sea mas claro

2) Tambien he modificado el procedimento del MS SQL Server 2000, según las sugerencias técnicas para la Administración de datos nText, Text e Image, quedando finalmente así:

Código SQL [-]
 CREATE PROCEDURE InformesMOD
             @IDInforme    int,
             @Letrado    Char(4),
             @Resumen    nChar(80),
             @Adjuntos    Char(200),
             @FEnvio    SmallDateTime,
             @Texto     ntext,
             @Proxima    smalldatetime,
             @ARealizar    nChar(100)
                 
 AS
 
 BEGIN TRAN
 DECLARE    @PtrVal binary(16)
 
     UPDATE Informes
     SET     Letrado = @Letrado,
         Resumen = @Resumen,
                 Adjuntos = @Adjuntos,
                 FechaEnvio = @FEnvio,    
                ProximaAccion = @Proxima,
         Texto = @Texto,
         ParaHacer = @ARealizar
     WHERE IDInforme = @IDInforme
 
     EXECUTE sp_dboption 'Informes', 'select into/bulkcopy', 'TRUE'
 
     SELECT @PtrVal = TEXTPTR(Texto)
     FROM Informes
     WHERE IDInforme = @IDInforme
     UPDATETEXT Informes.Texto @PtrVal 0 NULL @Texto
 
     EXECUTE sp_dboption 'Informes', 'select into/bulkcopy', 'FALSE'
 
 IF @@ERROR = 0
     COMMIT TRAN
 ELSE
     ROLLBACK TRAN
 GO

Nota: Este procedimiento está completo, se pasan todos los parámetros.

3) Al ejecutarlo me da el siguiente error:

"Espacio de almacenamiento insuficiente para completar la operación"

Y hasta aquí he llegado y no sé como seguir, agradecería cualquier sugerencia.

Muchas gracias.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 06:40:07.


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