Dúvida com Input string was not in ..
05/03/2013
0
Estou com um pequeno probelam no C#:
estou tentando converter para o tipo int um valor que vem de um datatable:
int valor = int.Parse(dt.Rows[0][4].ToString());
e me ocorre o seguinte erro: "Input string was not in a correct format.".
Imagino q alguns de vocês já tenham visto esse erro. Ele ocorre quando a aplicação tenta converter para o tipo int uma string vazia ou um valor não numérico.
OBS:
1) já usei Convert.ToInt32(dt.Rows[0][4].ToString()) e nada.
2) Esse erro acontece so quando do um publish na aplicação e coloco ela no servidor. na minha máquina, tudo funciona perfeitamente.
3) ja apliquei um refresh no IIS, mas tmb nao adiantou..
Não sei se isso teria a ver com permissão..
Alguém arrisca um palpite??
Obrigado.
Diego Gonçalves
Posts
05/03/2013
Joel Rodrigues
06/03/2013
Robson Alves
06/03/2013
Diego Gonçalves
as duas formas acima já foram tentadas. Inclusive já implementei as duas formas e testei na minha máquina e funcionou certo. mas quando a aplicação foi publicada no servidor, pintou esse problema..
é estranho pq não é um erro de ambiente, mas quando muda de ambiente o erro acontece.. rs
já olhei no log de eventos do windows, as a descrição do erro é igual ao que a aplicação emite...
06/03/2013
Joel Rodrigues
Essa coluna deveria estar retornando um valor não numérico? Se não, o problema pode estar antes, no momento da gravação desse dados que está registrando um valor inválido na coluna.
06/03/2013
Diego Gonçalves
06/03/2013
Joel Rodrigues
Coloca uma condição pra verificar isso e exibe uma mensagem pra testar que valor está sendo passado.
06/03/2013
Diego Gonçalves
e o lance da condição, foi feito e está retornando uma string vazia. por isso o erro acontece. mas o q mais ta me intrigando é o fato de que quando rodo o projeto local, o erro nao ocorre... o numero é exibido normalmente e a conversão é feita...
só quando publico a aplicação no servidor é que o erro acontece..
ja troquei a versão do OLEDB, mas tmb não funcionou.
ja limpei o cache do servidor e tmb não funcionou..
06/03/2013
Joel Rodrigues
06/03/2013
Diego Gonçalves
a linha é essa:
int valor = int.Parse(dt.Rows[0][4].ToString());
acima dela, tem várias outras coisas, como a conexão com o excel, por exemplo e o preenchimento do datatable..
07/03/2013
Joel Rodrigues
07/03/2013
Joel Rodrigues
- O idioma da máquina cliente é o mesmo da sua, onde a aplicação já foi testada?
Clique aqui para fazer login e interagir na Comunidade :)