none
Mascaras RRS feed

  • Pergunta

  • Bom dia

    Estou utilizando um maskedTextBox para um campo que guarda um endereço IP. A mascara esta como custom ###.###.###.###

    Porem na hora que grava no BD Mysql campo varchar ela esta substituindo o caractere ponto pelo caractere vírgula

    domingo, 15 de junho de 2014 15:45

Respostas

  • Você está utilizando uma variável do tipo string para enviar as informações para o banco?

    Qual o tipo que você está utilizando no banco: Varchar ou int para este campo que vai receber o ip?

    Faça o seguinte teste. Ao invés de inserir no banco, faça- o gravar em um arquivo de texto, caso ele salve corretamento, o problema está no banco ao receber os dados. Pode ser até um problema da collation que você está utilizando no SQL.

    domingo, 15 de junho de 2014 17:55
  • Estou utilizando uma variavel do tipo string. esta variavel esta recebendo virgula e não o ponto. Ele grava em um campo varchar no BD mysql

    Na propriedade mask do campo existe um campo existe um campo preview. Neste campo também esta como virgula e não ponto. Na propriedade mask esta correto.

    Fiz um teste e substitui o ponto por virgula no campo mask. Com isso funcionou, esta gravando certo agora. Mas é bem estranho.

    Será que o fato do meu windows ser inglês influencia?

    domingo, 15 de junho de 2014 18:01
  • Acho que o windows ser inglês, não vai influenciar, e se ocorresse seria com "Ç" e acentos.

    Além do masked, outra opção essencial é o uso de expressão regular para validar o IP.

    O LblInfo, é um Label. 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Me.MaskedTextBox1.Mask = "000.000.000.000"
    End Sub
    
    
     Private Sub CheckValidate(ByVal strValid As String)
            Dim myRegex As New Regex("^(([01]?\d\d?|2[0-4]\d|25[0-5])\.){3}([01]?\d\d?|25[0-5]|2[0-4]\d)$")
            If myRegex.IsMatch(strValid) Then
                LblInfo.Text = "IP Válido"
                LblInfo.ForeColor = Color.Green
            Else
                LblInfo.Text = "IP Inválido"
                LblInfo.ForeColor = Color.Red
            End If
        End Sub
    
    

    Abçs

    domingo, 15 de junho de 2014 20:58
  • Mascara em vb.net é ###.##

    strValor = valor.ToString("R$ #,###.00")

    http://www.macoratti.net/13/01/vbn_fnm1.htm

    Att,

    segunda-feira, 16 de junho de 2014 17:33

Todas as Respostas

  • Você está utilizando uma variável do tipo string para enviar as informações para o banco?

    Qual o tipo que você está utilizando no banco: Varchar ou int para este campo que vai receber o ip?

    Faça o seguinte teste. Ao invés de inserir no banco, faça- o gravar em um arquivo de texto, caso ele salve corretamento, o problema está no banco ao receber os dados. Pode ser até um problema da collation que você está utilizando no SQL.

    domingo, 15 de junho de 2014 17:55
  • Estou utilizando uma variavel do tipo string. esta variavel esta recebendo virgula e não o ponto. Ele grava em um campo varchar no BD mysql

    Na propriedade mask do campo existe um campo existe um campo preview. Neste campo também esta como virgula e não ponto. Na propriedade mask esta correto.

    Fiz um teste e substitui o ponto por virgula no campo mask. Com isso funcionou, esta gravando certo agora. Mas é bem estranho.

    Será que o fato do meu windows ser inglês influencia?

    domingo, 15 de junho de 2014 18:01
  • Acho que o windows ser inglês, não vai influenciar, e se ocorresse seria com "Ç" e acentos.

    Além do masked, outra opção essencial é o uso de expressão regular para validar o IP.

    O LblInfo, é um Label. 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Me.MaskedTextBox1.Mask = "000.000.000.000"
    End Sub
    
    
     Private Sub CheckValidate(ByVal strValid As String)
            Dim myRegex As New Regex("^(([01]?\d\d?|2[0-4]\d|25[0-5])\.){3}([01]?\d\d?|25[0-5]|2[0-4]\d)$")
            If myRegex.IsMatch(strValid) Then
                LblInfo.Text = "IP Válido"
                LblInfo.ForeColor = Color.Green
            Else
                LblInfo.Text = "IP Inválido"
                LblInfo.ForeColor = Color.Red
            End If
        End Sub
    
    

    Abçs

    domingo, 15 de junho de 2014 20:58
  • Mascaras para receber números é: "000.000.000.000" ou "###.###.###.###"?
    domingo, 15 de junho de 2014 21:03
  • Mascara em vb.net é ###.##

    strValor = valor.ToString("R$ #,###.00")

    http://www.macoratti.net/13/01/vbn_fnm1.htm

    Att,

    segunda-feira, 16 de junho de 2014 17:33