• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Luis Marques

[Resolvido] Erro a utilizar maskettextbox

6 mensagens neste tópico

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

    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?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Resolvido!

Obrigado

Quando estiver resolvido, indicas no titulo ok :P

Para ficar mais organizado!

0

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