none
msg de erro: o valor viola o limite max lenght desta coluna RRS feed

  • Pergunta

  • O quadro do problema é o seguinte:

    - aplicação Windows forms com visual basic e ferramenta VisalStudio 2017

    - banco de dados sql server localdb definido dentro do visual studio usando designer

    - tabela DadosPessoais, coluna TelResidencial, char(14) - para poder conter os caracteres de separação: (11) 9999 9999

    - no formulário, TelResidencialTextbox com maxlenght padrão: 32767

    - um evento Leave para este textbox: TelResidencialTextBox.Text = "(" + mid(TelResidencialTextBox.Text, 1, 2) + ") " +

    mid(TelResidencialTextBox.Text, 4, 4) + "" + mid(TelResidencialTextBox.Text, 9, 4)

    - no click do botão Salvar a mensagem de erro: "....o valor viola o limite maximo MaxLenght desta coluna

    - até agora não consegui encontrar solução para esse erro

    - quando usei o MaskedTextBox para esse controle ocorria o mesmo erro

    - sou iniciante no visual studio   no visual basic, alguém poderia me ajudar?

    quinta-feira, 22 de fevereiro de 2018 19:29

Respostas

  • Olá Mariano, tudo bem?

    Olha, estou lhe comunicando que acabei por resolver o problema.

    Tratava-se de uma divergência de valores entre o DataSet e a tabela de dados.

    Ao configurar valores diferentes daqueles que acompanham a definição dos tipos de campo na tabela, havemos que tomar o cuidado de também faze-lo na configuração do DataSet. Exemplo: quando configuramos a tabela e colocamos o tipo de dado como varchar essa definição vem acompanhada de um valor entre parêntesis varchar(50). Esse valor é o MaxLenght no DataSet. Se optarmos por modifica-lo para maior haveremos que alterá-lo também no MaxLenght do DataSet. Fiz as correções da forma como explanei e ficou tudo ok. Agradeço seu empenho. 

    • Sugerido como Resposta Mariano1776 sábado, 24 de fevereiro de 2018 20:18
    • Marcado como Resposta ravazoni domingo, 25 de fevereiro de 2018 14:11
    sexta-feira, 23 de fevereiro de 2018 22:45

Todas as Respostas

  • Boa tarde.

    Após a formatação, coloque msgbox (TelResidencialTextBox.Text) para ver o resulatado


    MARIANO1776

    quinta-feira, 22 de fevereiro de 2018 21:28
  • Ola Mariano

    Grato pelo retorno. Fiz o que vc sugeriu e o msgbox mostra o dado conforme a formatação.

    exemplo: digito 1144870711 e é mostrado (11) 4487 0711

    porém na hora de salvar o registro aparece a mesma mensagem de violação do maxlenght

    quinta-feira, 22 de fevereiro de 2018 21:42
  • Boa noite.

    Poste o código de inserção do registro.


    MARIANO1776

    sexta-feira, 23 de fevereiro de 2018 00:26
  •    

     Bom dia Mariano

    Abaixo segue o codigo de inserção do registro.

    O Try-Catch bem como MsgBox foram introduzidos na rotina automatica padrão da ferramenta.

    Novamente agradeço sua ajuda. Abç

    Private Sub DadosPessoaisBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles DadosPessoaisBindingNavigatorSaveItem.Click

            Try
                Validate()
                DadosPessoaisBindingSource.EndEdit()
                TableAdapterManager.UpdateAll(BDAgendaDataSet)
                MsgBox("Operação de atualização de registro efetuada com sucesso.")

            Catch ex As Exception
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
        End Sub

    sexta-feira, 23 de fevereiro de 2018 10:40
  • Olá Mariano, tudo bem?

    Olha, estou lhe comunicando que acabei por resolver o problema.

    Tratava-se de uma divergência de valores entre o DataSet e a tabela de dados.

    Ao configurar valores diferentes daqueles que acompanham a definição dos tipos de campo na tabela, havemos que tomar o cuidado de também faze-lo na configuração do DataSet. Exemplo: quando configuramos a tabela e colocamos o tipo de dado como varchar essa definição vem acompanhada de um valor entre parêntesis varchar(50). Esse valor é o MaxLenght no DataSet. Se optarmos por modifica-lo para maior haveremos que alterá-lo também no MaxLenght do DataSet. Fiz as correções da forma como explanei e ficou tudo ok. Agradeço seu empenho. 

    • Sugerido como Resposta Mariano1776 sábado, 24 de fevereiro de 2018 20:18
    • Marcado como Resposta ravazoni domingo, 25 de fevereiro de 2018 14:11
    sexta-feira, 23 de fevereiro de 2018 22:45
  • Excelente, aprendemos mais uma.

    Marque sua resposta como RESPOSTA.

    Servirá para outros como a mesma dúvida/problema.


    MARIANO1776

    sábado, 24 de fevereiro de 2018 20:20