PDA

Ver la Versión Completa : dbExpress e Interbase


SKaRCHa
05-05-2003, 13:07:58
Estoy haciendo un programita y me está sirviendo para adentrarme un poco con los componentes dbExpress...

El problema que tengo es que Interbase siempre me devuelve los campos 'string' con espacios al final, aunque le tengo dicho al componente TSimpleDataSet que me haga un Trim (no recuerdo ahora de cabeza cómo se llamaba la propiedad que tiene que estar a false para que haga el trim).

¿Alguien sabe el porqué de esto?.

Muchísimas gracias de antemano. :-)

kinobi
05-05-2003, 13:56:58
Hola,

¿los campos están declarados en la base de datos como VARCHAR o como CHAR?.

Si es lo segundo, el servidor devuelve el contenido de la columna con tantos blancos como sean necesarios para completar el tamaño máximo con que la hayas declarado.

Saludos.

SKaRCHa
05-05-2003, 14:03:57
Anda!, pues va a ser eso... están como CHAR, ¿pero no le influye el Trim del componente?, ¿no debería quitarme los espacios?.

Gracias por tu respuesta.. :)

Por cierto, aún te recuerdo de R34.DELPHI, si eres el mismo que creo, claro.. :)

kinobi
05-05-2003, 14:22:23
Hola,

Posteado originalmente por SKaRCHa
Anda!, pues va a ser eso... están como CHAR, ¿pero no le influye el Trim del componente?, ¿no debería quitarme los espacios?.
Respecto al Trim no sabría qué decirte, ya que no utilizo dbExpress, pero (consejo) si no son necesarios los espacios, mejor declarar las columnas como VARCHAR.

Posteado originalmente por SKaRCHa
Por cierto, aún te recuerdo de R34.DELPHI, si eres el mismo que creo, claro.. :)
Lo dudo. He pululado bastante en otros tiempos por el grupo de news Delphi en español de USENET, pero por R34.DELPHI no.

Saludos.

guillotmarc
05-05-2003, 14:30:10
Hola.

¿ Nos puedes decir cual es la propiedad que pones a False para que el TSimpleDataSet haga un Trim ?. Trabajo habitualmente con dbExpress y no conozco ninguna propiedad para ese cometido.

Saludos.

SKaRCHa
05-05-2003, 14:40:56
Para Kinobi:

Posteado originalmente por kinobi
Hola,


Respecto al Trim no sabría qué decirte, ya que no utilizo dbExpress, pero (consejo) si no son necesarios los espacios, mejor declarar las columnas como VARCHAR.



Pues nada, acepto el consejo... :-)

Por cierto, ¿qué diferencia hay entre declar una columna como varchar y otra como varchar(20)?. ¿Ese tamaño para qué sirve?, ¿que te devuelve el valor con un mínimo de 20 rellenando con espacios?.

Posteado originalmente por kinobi

Lo dudo. He pululado bastante en otros tiempos por el grupo de news Delphi en español de USENET, pero por R34.DELPHI no.

Saludos.

Pues me he equivocado de persona entonces.. ;)


Para guillotmarc:

Posteado originalmente por guillotmarc

¿ Nos puedes decir cual es la propiedad que pones a False para que el TSimpleDataSet haga un Trim ?. Trabajo habitualmente con dbExpress y no conozco ninguna propiedad para ese cometido.


Ya estoy en casa... la propiedad es: DisableStringTrim, pero me equivoqué... hace Trim sólo en los posts, no cuando recupera los datos.. :(

kinobi
08-05-2003, 14:42:29
Hola,

Posteado originalmente por SKaRCHa
Para Kinobi:

Por cierto, ¿qué diferencia hay entre declar una columna como varchar y otra como varchar(20)?. ¿Ese tamaño para qué sirve?, ¿que te devuelve el valor con un mínimo de 20 rellenando con espacios?.


disculpa, se me pasó tu post.

Respecto a la diferencia entre CHAR y VARCHAR, échale un vistazo a esta página. Allí resume perfectamente las diferencias ...

http://www.volny.cz/iprenosil/interbase/ip_ib_strings.htm#_strings_char_varchar

Saludos.