FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Eliminar Espacios en Blanco
Hola a todos,
Tengo una Base de Datos en SQL que me almacena la dirección de una imagen, de modo que la base de datos no se haga tan pesada. Entonces lo que hago es guardar el FileName de la imagen, y luego cuando vaya a consultar la imagen, se cargue en un Timage sin necesidad de guardarse en la base de datos. (Tal vez mi explicacion fue un poco redundante, pero es mejor para que entiendan bien mi inquietud ) Mi problema es el siguiente: a la hora de guardar el filename de la imagen en la base de datos (se guarda en un campo que abarca hasta 100 caracteres), siempre quedan espacios en blanco, y a la hora de cargar el filename en la Timage me da el error de que no reconoce la extension de la imagen (porque siempre despues del tipo de imagen hay espacios, ejemplo: 'c:delphi.jpg ' esos dos espacios que quedaron despues del .jpg causan que delphi no pueda leer la imagen) Existe alguna forma, truco o método de modo que pueda eliminar esos espacios en blanco, o en SQL SERVER 2000 (el que uso) puedo hacer campos que se ajusten al tamaño del registro???? Cualquier ayuda es agradecida Se despide, eudy.net |
#2
|
||||
|
||||
Hola,
En MySQL, desde luego, se cuenta con el tipo "VARCHAR", que adapta su tamaño a la cadena que se guarde, incluso si hay algún límite (que tal vez por defecto ya lo haya). Quiero decir, si tengo un "VARCHAR" y guardo esto: Código:
C:\imagen.jpg Tal vez a la hora de guardar los datos debas aplicar alguna función como "Trim()" que elimine los espacios en blanco al comienzo y al final de la cadena que vas a guardar. Y, en todo caso, siempre puedes recuperar el valor usando una función "Trim()" (si es que existe en SQL Server, en MySQL creo que sí que existe, casi seguro que así sea) o bien utilizar la función "Trim()" de Delphi antes de tratar averiguar si la imagen en cuestión existe o puedes cargarla y el "TImage". No sé. Se me hace raro que tú no guardes espacios en blanco y esto se añadan por el motor de bases de datos... entiendo que pueda querer ajustarse a cierto tamaño un determinado campo (por cierto, ¿de qué tipo hablamos?), pero, no entiendo que se rellene con espacios en blanco, porque, estos no son caracteres "nulos", sino que pueden tener un significado claro y práctico... como puedes comprobar... |
#3
|
|||
|
|||
Muchas Gracias
Oye dec Muchisimas Gracias
Usé la función Trim de Delphi y me funcionó bastante bien Lo que pasaba era que SQL me aumentaba la longitud del registro(hasta los 100 caracteres) añandiendoles espacios en blanco, no sé porque pero lo hacía. Se despide, eudy.net |
#4
|
||||
|
||||
Cita:
Porque has definido tu campo como tipo char(100) (o un equivalente en tu motor) y no como varchar(100). Ya se ha mencionado antes en este hilo. Al hacer eso, le indicás al motor que querés que siempre te retorne cadenas de longitud fija. Para lograrlo, el motor rellenará con espacios en blanco a la derecha la cadena original... algunos de hecho, lo hacen al almacenar el dato, otros, como firebird, lo hacen al recuperarlo. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#5
|
||||
|
||||
Cita:
Punto para Firebird.
__________________
Saludos, Gabo A menos que se indique lo contrario, el código estará hecho en C++Builder. |
#6
|
||||
|
||||
Cita:
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#7
|
|||
|
|||
#8
|
|||
|
|||
Gracias Al Articulo Que Vi Que Elimina Los Espacios En Blanco Al Llamar Un Campo.
Thanks Tenia Problemas Al Consultar El Campo De Un Registro Ya Que Este Aunque Yo Le Decia En Delphi Que Me Quitara Los Espacios Con Un Trim Lo Guardaba Con Los Espacios En El Sql. Lo Que Hice Fue Al Llamarlo Usar El Trim Tambien. Ya Veo Que No Necesito El Trim Al Mandar Al Guardar Sino Al Consultar.
|
#9
|
|||
|
|||
Cita:
Hola wascar2003, te puedo preguntar si no te es dificil escribir como escribes , al leerlo mi mente me hizo tartamudear (Corrijo, detenerme a cada palabra), no me imagino intertar escribir así..... [/OFF TOPIC] Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#10
|
|||
|
|||
Hola...
wascar2003, veo que eres relativamente nuevo en estos foros... y me imagino que ya te habrán remitido a la Guía de Estilo de estos foros. También me gustaría que leyeras esta otra Guía de Estilo. Saludos... |
#11
|
||||
|
||||
O bien declarar el campo como varchar, pues si realmente no necesitas los espacios, ¿para qué declararlo como char?
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#12
|
|||
|
|||
Gracias
Gracias Por Los Consejos. En Realidad Soy Nuevo En Los Foros. Con Respecto A Declarar Los Campos Varchar Y No Char Los Declaro Char Porque Me Han Dicho Que El Tipo Varchar Puede Llegar A Dar Problemas Luego Al Consultar. Gracias A Todos Y Espero Mejorar Pronto. Muchos Saludos.
|
#13
|
||||
|
||||
Cita:
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#14
|
|||
|
|||
Al menos está separando las palabras... no me imagino:
Cita:
Saludos... |
#15
|
||||
|
||||
pues más bien diles a esos que te dijeron, que te digan que problemas, cuando y como pasan esos problemas. Yo no me he topado con ninguno.
Y los tipos de datos están todos por alguna razón, no nada más por que sí. En tu caso es mil veces mejor utilizar un tipo varchar... (en todo caso, podrías utilizar la función RTRIM de SQL Server). Es como usar un campo "float" para guardar datos monetarios, en ese caso te daría problemas con los redondeos y para evitar eso, está el tipo de dato "money". En fin, por favor, ya no escribas así que nos haces tartamudear a todos. (¿De verdad te vas deteniendo en cada palabra para poner una mayúscula?)
__________________
|
#16
|
|||
|
|||
De seguro escribe todo en MS Word en minúsculas, luego selecciona todo y hace [Shift][F3] [Shift][F3] [Shift][F3]...
Saludos... |
#17
|
||||
|
||||
Cita:
Puedo garantizar que en las bases de datos que conozco el tipo varchar funciona decentemente bajo el comportamiento que puede esperarse de él. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#18
|
||||
|
||||
TRIM: No me funciona.
TrimRight y TrimLeft: Si andan. ¿y como se explica eso? un saludo. |
#19
|
||||
|
||||
Cita:
¿lo estas usando correctamente? ¿te marca un error? Solo espero a que tengas más experiencia en encontrar errores, para que te des cuenta cuan irritante es escuchar "no funciona" y no escuchar el porque.
__________________
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
quitar espacios en blanco de un string | rmnart | Varios | 4 | 21-12-2009 16:24:32 |
Problemas con Espacios en blanco | jfontane | PHP | 7 | 08-02-2008 16:59:25 |
Limpiar espacios en blanco( en string) | jmlifi | Varios | 5 | 22-03-2007 19:09:05 |
Remover espacios en blanco de una cadena | jarcmaster | Varios | 2 | 22-07-2005 22:12:18 |
Quitar espacios en blanco | Javier_A | OOP | 3 | 09-06-2004 11:29:27 |
|