Tipos de campos trazidos pelo DataSet
Ola pessoal, o texto é meio grande mas gostaria que vcs leiam.
Estou com um problema:
Preciso saber o tamanho de um campo String vindo de um Banco de Dados. Para isso estou usando um DataSet Ligado direto com o Banco.
Para pegar o respectivo campo, eu uso DataSet.Fields[i].DataType
Quando o tipo for um ´ftString´ blz, eu consigo acessar o DataSet.Fields[i].DataSize e consigo trazer o tamanho do Campo.
EX: DataType = STRING
DataSize = 50
O problema está quando o tipo do campo vem como ´ftWideString´. quando vem com este tipo, o DataSize deste campo vem sempre com o número 4, como se fosse o tamanho em bytes do campo.
Como eu faço para saber o tamanho exato deste campo?
Obrigado!
Estou com um problema:
Preciso saber o tamanho de um campo String vindo de um Banco de Dados. Para isso estou usando um DataSet Ligado direto com o Banco.
Para pegar o respectivo campo, eu uso DataSet.Fields[i].DataType
Quando o tipo for um ´ftString´ blz, eu consigo acessar o DataSet.Fields[i].DataSize e consigo trazer o tamanho do Campo.
EX: DataType = STRING
DataSize = 50
O problema está quando o tipo do campo vem como ´ftWideString´. quando vem com este tipo, o DataSize deste campo vem sempre com o número 4, como se fosse o tamanho em bytes do campo.
Como eu faço para saber o tamanho exato deste campo?
Obrigado!
Seu_madruga
Curtidas 0
Respostas
Tnaires
23/06/2005
Olá
Não sei se isso resolve, mas pq vc não usa:
?
Abraços
Não sei se isso resolve, mas pq vc não usa:
Length(Campo.AsString)
?
Abraços
GOSTEI 0
Seu_madruga
23/06/2005
Olá
Não sei se isso resolve, mas pq vc não usa:
?
Abraços
Length(Campo.AsString)
Porque isso iria me trazer o tamanho da String em si e não o tamanho permitido pelo campo:
´RAFAEL´ => Length = 6
´ASDFGHJKLM´ => Length = 10
Eu preciso do tamanho definido no Banco de Dados, por iso que não posso usar o seu método.
Valew
GOSTEI 0
Tnaires
23/06/2005
Ah entendi.
E pq a propriedade Size do TField não serve?
Abraços
E pq a propriedade Size do TField não serve?
Abraços
GOSTEI 0
Seu_madruga
23/06/2005
Ah entendi.
E pq a propriedade Size do TField não serve?
Abraços
Servir, serve mas o problema é que quando o tipo vem como ´WideString´ o Size dele vem o número 4 e não o tamanho do campo em si. quando vem ´String´ o size vem certo, com o tamanho definido pelo banco. Não sei porque WideString vem com o valor 4 sendo.
GOSTEI 0
Seu_madruga
23/06/2005
Resolvido.
Tem uma propriedade ´Size´ que me traz o tamanho exato do campo.
Existe a propriedade DataSize e a Size, sendo que a diferença eu ainda não sei bem mas quando se usa DataSize com campos do tipo WideString, ele me retorna o valor 4, acho que deve ser o número de bytes reservdos para este campo.
Tem uma propriedade ´Size´ que me traz o tamanho exato do campo.
Existe a propriedade DataSize e a Size, sendo que a diferença eu ainda não sei bem mas quando se usa DataSize com campos do tipo WideString, ele me retorna o valor 4, acho que deve ser o número de bytes reservdos para este campo.
GOSTEI 0