DUVIDAS EM RECORDSET.

SPYDREX 10/11/2010 16:21:14
#357135
Beleza galera...

Eu tenho um recordset que é preenchido por um select de uma tabela de nome produtos vindo do postgresql
nessa tabela tem um campo chamado peso, esse campo é do tipo decimal

Também tenho dentro de uma classe chamada produtos uma propriedade Get/Set definida com o nome peso para receber os dados da consulta

até ai tudo bem eu consigo preencher o recordset com os valores retornado do banco, porém o problema que estou enfrentando é com o campo peso

eu tenho o seguinte dado no campo do banco

0.100 que significa 0.100 gramas

mas o campo do recordset aparece como 0

Eu não estou conseguindo fazer funcionar, também estou tendo vários problemas de conversão de tipos com esse, porque eu preciso fazer esses dados chegarem a um maskeditbox definido com a mascara #,###0.000.

Alguém pode ajudar ?

Grato.
SBRUBLLES 10/11/2010 17:30:22
#357153
aparentemente vc está com um problema de tipos de dados, verifique se esse tipo de dado não está como integer... para funcionar deve ser single ou outro de ponto flutuante...
SPYDREX 10/11/2010 18:01:54
#357162
Citação:

:
aparentemente vc está com um problema de tipos de dados, verifique se esse tipo de dado não está como integer... para funcionar deve ser single ou outro de ponto flutuante...



no banco é decimal
na propriedade é decimal
ESLEYSANCHES 10/11/2010 19:42:15
#357172
Na hora de puxar os dados do banco para o textobox Tente:

SeuMaskEditBox.text = Convert.ToDecimal(Seu_RecordSet([Ô]seu_campo[Ô])).toString()


Ele vai converter os dados para decimal (Puxando oque está antes e depois da virgula) e envia para o maskeditbox.
Para ter certeza q os dados chegaram com as virgulas salve numa variavel do tipo string e exba a msg

Dim teste as String
teste = Convert.ToDecimal(Seu_RecordSet([Ô]seu_campo[Ô])).toString()
MessageBox.Show(teste)



Essa forma acima é um exemplo para corrigir e tirar duvidas.
Abraços !!!!!!
SPYDREX 11/11/2010 15:42:32
#357225
Citação:

:
Na hora de puxar os dados do banco para o textobox Tente:

SeuMaskEditBox.text = Convert.ToDecimal(Seu_RecordSet([Ô]seu_campo[Ô])).toString()


Ele vai converter os dados para decimal (Puxando oque está antes e depois da virgula) e envia para o maskeditbox.
Para ter certeza q os dados chegaram com as virgulas salve numa variavel do tipo string e exba a msg

Dim teste as String
teste = Convert.ToDecimal(Seu_RecordSet([Ô]seu_campo[Ô])).toString()
MessageBox.Show(teste)



Essa forma acima é um exemplo para corrigir e tirar duvidas.
Abraços !!!!!!



Cara está realmente estrando percebi que depois que a consulta é retornada do banco para ser colocada dentro do dareader e até do dataset o resultado do campo decimal com valor .100 é inexplicavelmente ignorado pelo sistema. Estou testando o que você me sujeriu usando um dataset assim:
? Convert.ToDecimal(ds.Tables(0).Rows(0).Item([Ô]peso[Ô])).ToString
e o resultado é esse:
[Ô]0[Ô]
no banco quando eu dou um select manual o campo retorna assim:
0.100

Estou ficando louco com isso.
Tópico encerrado , respostas não são mais permitidas