Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

Luis Marques

[Resolvido] Erro a utilizar maskettextbox

Mensagens Recomendadas

Luis Marques    0
Luis Marques

Boas, pessoal dá me erro quando vou guardar dados que estão numa maskettextbox.

Erro: failed to convert parameter value from a string to a int32

                    If MaskedTextBox2.Text.Trim <> String.Empty Then

                        command.Parameters.Add("telefone", OleDbType.Integer).Value = MaskedTextBox2.Text
                    Else
                        command.Parameters.Add("telefone", OleDbType.Integer).Value = 0
                    End If

Não sei o que usar para declarar, se é integer,decimal,etc.... já tentei algumas e ainda nao consegui.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
jpaulino    106
jpaulino

Olá,

Tens de definir a propriedade TextMaskFormat para ExcludePromptAndLiterals, caso contrário o texto inclui os caracteres da formatação.

Pode exemplo se o formato for "(__) __-__" quando fazer:

MessageBox.Show(Me.MaskedTextBox1.Text)

aparece-te "(123) 456-789" e não "123456789"

Podes definir desta forma:

Me.MaskedTextBox1.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Luis Marques    0
Luis Marques

    Private Sub MaskedTextBox2_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MaskedTextBox2.KeyUp

        If Me.MaskedTextBox2.Text.Length = 1 Then


            If Me.MaskedTextBox2.Text.StartsWith("9") Then
                Me.MaskedTextBox2.Mask = "(99) 000-00-00"
            Else
                Me.MaskedTextBox2.Mask = "(999) 000-0000"
            End If


            Me.MaskedTextBox2.Select(2, 0)

        ElseIf Me.MaskedTextBox2.Text.Length = 2 Then

            If Me.MaskedTextBox2.Text.StartsWith("9") Then Exit Sub
       
            Dim c As Char = Me.MaskedTextBox2.Text.Substring(1, 1)

         
            If c = "1" Or c = "2" Then
                Me.MaskedTextBox2.Mask = "(99) 000-00-00"
            Else
                Me.MaskedTextBox2.Mask = "(999) 000-000"
            End If


            Me.MaskedTextBox2.Select(3, 0)
        End If
    End Sub

Depois coloco este codigo que me deste aqui?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade