none
Pegar o valor de uma Textbox inteiro e passar para outra textbox como inteiro para salvar na tabela SQLServer RRS feed

  • Pergunta

  • Olá pessoal boa noite,

    Estou com um probleminha básico.

    Necessito pegar o Cod_Cliente (Int) na textbox do  Formulário Pesquisar_Cliente e levar para o formulário de Cliente na textbox cod_cliente.

    Porém dá erro,  Cannot implicitly convert type 'string' to 'int'

    o código está assim: 

     public static class dados_Clientes           // no formulario pesquisar_clientes
            {
                public static string nome_cliente;
                public static int cod_cliente;   

           }

     private void button2_Click(object sender, EventArgs e)
            {
       this.clientes_Contas_a_ReceberTableAdapter.Fill(this.sGFRenaissanceDataSet.Clientes_Contas_a_Receber);
                    this.clientes_Contas_a_ReceberTableAdapter.FillByNome_Cliente(this.sGFRenaissanceDataSet.Clientes_Contas_a_Receber, "%" + textBox1.Text + "%");
                dados_Clientes.nome_cliente = nome_ClienteTextBox.Text;   //  O nome cliente está funcionando corretamente
                Convert.ToString(this.cod_Cliente_Contas_a_ReceberTextBox);
                int Cod_Cliente = int.Parse(cod_Cliente_Contas_a_ReceberTextBox.Text);
                dados_Clientes.cod_cliente = this.cod_Cliente_Contas_a_ReceberTextBox.Text;  // aqui dá erro.
            } 

    Muito obrigado pela ajuda.

    Flávio Rocha.


    quinta-feira, 8 de novembro de 2018 01:53

Respostas

  • Se existe algum outro problema no sistema dele ai não sei, pode até ser mas teria que olhar o código todo, mas, no ponto do erro a mensagem é clara 'Cannot implicitly convert type 'string' to 'int'', 'não é possivel converter o valor string para inteiro' muito provavelmente tem um texto dentro do campo e não um numero, a solução proposta fui para tentar fazer a conversão e se não conseguir atribuir 0 ao campo, pode ser que o sistema dele não funcione depois pois não vai encontrar um código = 0, mas, o erro de conversão de valor esta sendo corrigido.

    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto  

    Visite :  www.codigoexpresso.com.br


    sexta-feira, 9 de novembro de 2018 21:44
  • É porque o valor que esta dentro da string não é um inteiro e esta provocando um erro ao tentar converter, faça assim que o problema mais ser solucionado.

     

    dados_Clientes.cod_cliente = (int.TryParse(this.cod_Cliente_Contas_a_ReceberTextBox.Text, out dados_Clientes.cod_cliente)) ? dados_Clientes.cod_cliente : 0 ;

    O int.TryParse tenta fazer a conversão e se conseguir atribui o valor a variável, se não conseguir retorna falso, neste caso fazemos o tratamento e aplicamos o valor 0.

    Visita nossa pagina que vai ver diversas dicas legais lá, inclusive um curso de asp,net mvc grátis

    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto  

    Visite :  www.codigoexpresso.com.br



    quinta-feira, 8 de novembro de 2018 23:41
  • Boa tarde,

    Por falta de retorno essa thread está encerrada.

    Se necessário favor abrir uma nova thread.

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quinta-feira, 13 de dezembro de 2018 16:50
    Moderador

Todas as Respostas

  • Faça a conversão de string para int;

    dados_Clientes.cod_cliente = (int)(this.cod_Cliente_Contas_a_ReceberTextBox.Text);

    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto  

    Visite :  www.codigoexpresso.com.br


    quinta-feira, 8 de novembro de 2018 02:47
  • Olá Amigo,

    Em primeiro queria comentar a respeito desta linha de código:

    Convert.ToString(this.cod_Cliente_Contas_a_ReceberTextBox);//Achei ela desnecessária, fazer a conversão dum textBox em string, por que a propriedade Text dele já retorna uma string. Segundo sobre o teu erro você tem a solução bem perto de ti, poderia fazer o seguinte:

    int Cod_Cliente = int.Parse(cod_Cliente_Contas_a_ReceberTextBox.Text);
    dados_Clientes.cod_cliente = Cod_Cliente;  

    Espero que te ajudou.

    quinta-feira, 8 de novembro de 2018 05:57
  • Timóteo, boa noite,

    Não deu erro, porém o código não carregou na textbox. Somente o nome está carregando.

    O que será ? tem alguma ideia?

    Agradeço desde já a atenção.

    quinta-feira, 8 de novembro de 2018 22:02
  • Boa noite,

    Coloquei o (int) na frente, e continua o erro: 

    Cannot convert type 'string' to 'int'

    Podes me ajudar?

    obrigado desde já

    quinta-feira, 8 de novembro de 2018 22:05
  • É porque o valor que esta dentro da string não é um inteiro e esta provocando um erro ao tentar converter, faça assim que o problema mais ser solucionado.

     

    dados_Clientes.cod_cliente = (int.TryParse(this.cod_Cliente_Contas_a_ReceberTextBox.Text, out dados_Clientes.cod_cliente)) ? dados_Clientes.cod_cliente : 0 ;

    O int.TryParse tenta fazer a conversão e se conseguir atribui o valor a variável, se não conseguir retorna falso, neste caso fazemos o tratamento e aplicamos o valor 0.

    Visita nossa pagina que vai ver diversas dicas legais lá, inclusive um curso de asp,net mvc grátis

    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto  

    Visite :  www.codigoexpresso.com.br



    quinta-feira, 8 de novembro de 2018 23:41
  • Olá F.Oliveirarocha,

    Me faz entender uma coisa, você está carregando uma dataSet sGFRenaisanceDataSet que tem uma tabela chamada Clientes_Contas_a_Receber certo? e depois, querre passar os valores que estão nos textBoxes nome_Cliente_TextBox e cod_Cliente_Conta_a_Receber nos campos estáticos da classe estática dados_Clientes certo?, então os valores nos textBoxes estão ser carregados automáticamente ou estão ser diditados?

    Porque até certo ponto concordo com a solução do Código Expresso de usar TryParse(), mas o fundamental é como estão ser carregados os textBoxes?

    Atencioso. 

    sexta-feira, 9 de novembro de 2018 05:45
  • Se existe algum outro problema no sistema dele ai não sei, pode até ser mas teria que olhar o código todo, mas, no ponto do erro a mensagem é clara 'Cannot implicitly convert type 'string' to 'int'', 'não é possivel converter o valor string para inteiro' muito provavelmente tem um texto dentro do campo e não um numero, a solução proposta fui para tentar fazer a conversão e se não conseguir atribuir 0 ao campo, pode ser que o sistema dele não funcione depois pois não vai encontrar um código = 0, mas, o erro de conversão de valor esta sendo corrigido.

    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto  

    Visite :  www.codigoexpresso.com.br


    sexta-feira, 9 de novembro de 2018 21:44
  • Boa tarde,

    Por falta de retorno essa thread está encerrada.

    Se necessário favor abrir uma nova thread.

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quinta-feira, 13 de dezembro de 2018 16:50
    Moderador