Como suprimir espaços em branco de campos char

Delphi

10/07/2003

Usando Firebird + dbexpress + delphi7 percebo que campos char carregam espaços em branco. Também os objetos Tfield possuem uma propriedade (Fixedchar) para identificar um campo tipo char.
Pergunto: existe alguma propriedade para informar aos objetos TField não carregarem os espaços em branco. Não desejo trocar para varchar, pois tratasse da leitura de uma tabela de sistema (RDB$USER_PERMISSION).

Interessante: com IB + BDE os espaços em branco não eram lidos sendo o campo tmb char na mesma tabela de sistema.
Aguardo comentarios


Delmar

Delmar

Curtidas 0

Respostas

Demian Soares

Demian Soares

10/07/2003

bom.. como vc esta carregando essas informacoes... o mais simples seria fazer o tratamento com os comandos trimleft(variavel) e trimright(variavel) isso tiraria os espacos... e no caso se houvesse espacos entre as palavras ai seria preciso usar uma linha Sql.. usando a funcao replace do sql... mas no mais acho que isso a principio resolve...


GOSTEI 0
Alexandremarcondes

Alexandremarcondes

10/07/2003

Isto é muito comum em muitos bancos de dados, pois os campos CHAR apresentam tamanho fixo e alguns SGBD preenchem o restante com espaços. O ideal é usar campos VARCHAR, pois estes apresentam apenas o tamanho da String digitada ou inserida ... pense se isto não pode ser a sua melhor solução ... acho que Trim só seria um remédio que não cura a causa, no banco de dados os espaços vão continuar a existir e ocuparam um espaço desnecessário ...


GOSTEI 0
Delmar

Delmar

10/07/2003

Bom dia colegas
Agradeço pelos comentários e sugestões. Descobri a propriedade que eu procurava. Ela se encontra no componente TSQLConnection. Acessando as opções de params encontramos como última propriedade (trim char).
Configurei para true, testei e funcionou.
Um abraço
T+


GOSTEI 0
POSTAR