Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Oracle (https://www.clubdelphi.com/foros/forumdisplay.php?f=22)
-   -   codigo para campos blob en oracle funcionando (https://www.clubdelphi.com/foros/showthread.php?t=71521)

chip01 24-12-2010 19:43:29

codigo para campos blob en oracle funcionando
 
Hola a tod@, creo este nuevo hilo esta vez no para preguntar sino para pasarles el codigo de como hacer para poder insertar y extraer campos blob de una tabla de oracle, usando ADO, ya que fue muy dificil de encontrar en internet.
aca esta el codigo:
procedure TForm.Button5Click(Sender: TObject);//para guardar en un campo blob un html
var
TF: TFileStream;
dir:string;
begin
dir:='c:\temporal.html';
TF := TFileStream.Create( dir, fmOpenRead );
table1.open;
Table1.insert;
// Cargar el campo Blob desde la corriente
TBlobField(Table1.FieldByName('ARCHIVO')).LoadFromStream(TF);//Stream);
Table1.FieldByName('ID_DOCUMENTO').Value:=1;
Table1.Post;
Tf.Free;
MessageDlg('Datos guardados',mtinformation,[mbOK],0);
table1.Close;
end;

Una aclaracion muy importante uso en el connectiostring del adoconnection Provider=OraOLEDB.Oracle.1
ya que es el unico que no me dio problemas el MSDAORA.1 no funciona al guardar mas de 4kb.

ahora para mostrarlo es mas simple solamente tienen que hacer esto:
table1.open;
table1.edit;
TBlobField(Table1.FieldByName('ARCHIVO')).SaveToFile(ExtractFilePath(Application.ExeName)+'temporal. html');
ShellExecute(FComp0Km.Handle, nil, pchar(ExtractFilePath(Application.ExeName)+'temporal.html'),nil, nil, SW_SHOWNORMAL);
Table1.Post;
table1.close;

aca guarda el archivo sacado del campo en un archivo temporal.html y luego ejecuta el internet explorer para verlo.

Saludos a todo y espero que le haya sido util

ElKurgan 27-12-2010 08:11:56

Muchas gracias por el aporte

Un saludo
:)

Sodesne 04-08-2011 01:27:04

Agradecimiento
 
Gracias por compartir ese código, es de mucha utilidad.


La franja horaria es GMT +2. Ahora son las 03:50:16.

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