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

Luis Marques

[Resolvido] Erro a utilizar maskettextbox

Recommended Posts

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.


LM

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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?


LM

Share this post


Link to post
Share on other sites
José Lopes

pode ser por exemplo no load do formulário....


Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!!

Share this post


Link to post
Share on other sites
jpaulino

Resolvido!

Obrigado

Quando estiver resolvido, indicas no titulo ok :P

Para ficar mais organizado!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.