![]() |
Problemas con los campos BLOB
Tengo un pequeño problema, trabajo con Delphi 6 e Interbase 6.
Después de hacer una modificación en la base de datos (ya sea INSERT o UPDATE) ¿como puedo obtener el contenido de aquellos campos que son BLOB? Porque he probado con el SQLMonitor y no obtengo el valor. Muchas gracias. |
Hola DarKraZY,
Cita:
1. Si es desde SQL (por ejemplo una SELECT) tendrás que utilizar alguna UDF para gestionar la referencia al BLOB que te devuelve la consulta que debes hacer para recuperar el(los) valor de un campo BLOB. (*) 2. Si es desde una aplicación Delphi, puedes utilizar un objeto TBlobField (asociado seguramente a un DataSet: TTable, TQuery, TIBTable, TIBQuery, TIBDataSet, ...) y aprovechar las propiedades y métodos del BlobField para tratar el BLOB: AsString (si es un BLOB de subtipo texto), SaveToFile, SaveToStream, ... (*) Advierte que el uso de SQL desde herramientas gráficas como IBConsole, en realidad tienen BlobField's trabajando por detrás, de tal forma que hacen las conversiones necesarias para poder mostrar directamente determinados subtipos BLOB (en concreto los subtipos texto), pero en realidad la consulta SQL sólo devuelve una referencia al almacenamiento real del BLOB, ya que las columnas BLOB se almacenan en páginas separadas de las páginas de datos "normales". En fin, dependiendo de la situación concreta donde quieras utilizar tu BLOB, podemos afinar más la respuesta. Saludos. |
La franja horaria es GMT +2. Ahora son las 02:55:34. |
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