![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
![]() Hola a todos! Estoy utilizando Interbase 6 y necesito crear una udf (con Delphi) que me permita tomar los 100 primeros caracteres de un campo blob y pasarlos a un string...
He leido muchos hilos de la página y lo que he encontrado es convertir texto en blob (yo necesito hacer la operacion inversa) Espero me puedan ayudar! Desde ya muchas gracias! |
#2
|
||||
|
||||
Pero se supone que en el blob tienes guardardo texto, no?, porque si son datos binarios vas a tener problemitas
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
|||
|
|||
Si Casimiro. En estos campos solo tenemos almacenado texto
Supongo que tiene que haber una forma, pero por ahora no la puedo encontrar ![]() Espero puedan ayudarme!!! |
#4
|
||||
|
||||
Entonces, si tienes el campo blob declarado como "de texto" y tienes almacenado texto, sólo debes usarlo como un campo varchar, normal.
Código:
tuvariable := DStucampoblob.asstring; Código:
cast(tucampoblob as varchar(100))
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
|||
|
|||
Fue lo que probé en un principio, pero me da el siguiente error:
fmSQLEditor.frmData.DataD.SelectQuery: Overflow occurred during data type conversion. conversion error from string "BLOB". Debe ser que no es de texto..aunque solo almaceno eso. Te agradezco mucho tu ayuda Casimiro! |
#6
|
||||
|
||||
Ve haciéndolo por "tramos" hasta que llegues al registro que tiene el problema, puede que realmente no tenga texto en algún registro.
También puede que sea null, aunque si usas "AsString" lo convertiría a '' (cadena vacía). Otra cosa que puede pasar es que hayas declarado el campo varchar de un tamaño y lo que estás extrayendo sea más grande y no quepa.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#7
|
|||
|
|||
Cuando lo tomo desde delphi con el asstring si me lo convierte a cadena y lo puedo trabajar...
Cuando intento con Interbase de la forma: Select cast(comentarios as varchar(100)) from coprove por mas que haga un select de un único registro en el que se que el comentario tiene menos de 100 caracteres, me da el error mencionado en el mensaje anterior... Mi idea era crear una udf que pase como parámetro el campo blob a delphi y manipularlo ahí devolviendo un string de 100 caracteres. Aunque ya dudo si se puede ![]() Me pongo a intentarlo nuevamene. Muchas gracias por tu ayuda Casimiro. Sigo pendiente de tus respuestas!!! |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Concadenar un Blob y un Varchar | ingabraham | Varios | 19 | 15-08-2010 20:33:28 |
Asignar un varchar a un blob | Minotaure | Firebird e Interbase | 2 | 30-06-2008 09:50:51 |
Que es Mejor un Varchar o Blob | brandolin | Firebird e Interbase | 4 | 14-03-2005 02:23:15 |
UDF para convertir de un BLOB Type Text a un Varchar???? | AGAG4 | SQL | 0 | 06-12-2004 19:59:47 |
Como convertir un campo VARCHAR a uno BLOB, si se puede? | judoboy | Firebird e Interbase | 10 | 31-07-2003 17:28:45 |
![]() |
|